はので、私はこのように私のコードでこれを持っている:「警告:未定義(...):既存の状態遷移中に更新できません...」というエラーが表示されるのはなぜですか?
class TimersDashboard extends React.Component{
constructor() {
super(props);
this.state = {
timers: [
{id: uuid.v4(), text:'I am the first id' },
{ id:uuid.v4(), text:'I am the second text' }
]
};
}
clickEdit(id) {
this.openForm(id);
}
openForm(id) {
this.setState({
timers: this.state.timers.map((timer) => {
if(timer.id === id) {
return Object.assign({}, timer, { editFormOpen: true });
} else {
return timer;
}
})
});
}
handleCloseForm(id) {
this.closeForm(id);
}
closeForm(id) {
this.setState({
timers: this.state.timers.map((timer) => {
if(timer.id === id) {
return Object.assign({}, timer, { editFormOpen: false });
} else {
return timer;
}
})
});
}
}
render() {
return (
<Timer id={this.state.data[0].id} onEdit={this.clickEdit.bind(this)} onDelete = {this.handleCloseForm.bind(this)}/> // as if wroking on the first id
);
}
}
}
しかし、以下、私はあなたは自分のコードが少し似て見ることができ、小道具などの方法、私はこれらの同じ方法を起動しようとした他の構成要素を通過しました途中で私は、他のコンポーネントに同じようにそれらをコーディング
class Timer extends React.Component {
constructor(props) {
super(props);
this.handleEditClick = this.handleEditClick.bind(this);
this.handleTrashClic = handleTrashClic.bind(this);
}
handleEditClick() {
this.props.onDelete(this.props.id);
}
handleTrashClick() {
this.props.onEdit(this.props.id);
}
render() {
return(
// ... onClick = {()=>this.handleEditClick(this.props.id)} ..
// ... onClick = {()=>this.handleTrashClick(this.props.id)} ..
);
}
}
}
は、削除の方法は、他のコンポーネントに動作しますが、編集方法はないと私はそれを動作させることができない理由を私は知らない、私はparentObjを渡そうとしました文脈、追加.bind(これ)、しかし、私はそれを動作させることはできません。私のエラーは「警告:未定義(...):既存の状態遷移中に更新できません...」です。私はそれをどのように機能させるのですか?
'closeForm'メソッドが正常に動作しています? –
はい、しかし編集方法にそのエラーがありますが、私は混乱しています –