Я работаю над приложением, в котором я передаю значения переменных в Navlink, используя состояние из одного компонента в другой, а затем загружаю полученные значения в поля ввода и нажимаю кнопку подтверждения в этом другом компоненте, чтобы что-то делать со значениями. Мои значения получены правильно и отображаются правильно, когда я их предупреждаю. Но когда я нажимаю кнопку отправки, выдает ошибку, указывая на конструктор
TypeError: Невозможно прочитать свойство 'id' из неопределенного
Вот мой код
class Parent extends React.Component{
constructor(props) {
super(props);
this.state={id:2}
}
render(){
return(
<NavLink
to={{
pathname: '/Child',
state: {
id: this.state.id
}
}}
>
Edit
</NavLink>
)
)
}
Где я получаю значения
class Child extends React.Component{
constructor(props) {
super(props);
this.state = {id:this.props.location.state.id}
alert(this.props.location.state.id)//works fine
}
setId(e){
this.setState({id:e.target.value})
}
addOrEdit(){ //gives error
alert(this.state.id)
//do something
}
render(){
return(
<div>
<form>
<label>Id</label>
<input value={this.state.id} onChange={this.setId.bind(this)} type="text"/><br/>
<input type="submit" onClick={this.addOrEdit.bind(this)} ></input>
</form>
</div>
)
}
}