3 回答

TA貢獻1852條經驗 獲得超1個贊
如果我沒有錯,你的 Todo 組件正在監視中??。所以Watch組件應該是這樣的:
render () {
return (
<div>
<Todo index={this.state.selectedIndex} selectedTodo={this.props.selectedTodoIndex}/>
</div>
)
}
在這里,我制作了這段代碼的代碼和盒子。請隨時結帳,如果您有任何疑問,請告訴我。代碼鏈接:https : //codesandbox.io/s/frosty-chaplygin-ws1zz

TA貢獻1871條經驗 獲得超13個贊
有很多改進要做。但我相信您正在尋找的是Watch Component 中的getDerivedStateFromProps lifeCycle 方法。所以代碼將是:
getDerivedStateFromProps(nextProps, prevState) {
if(nextProps.selectedTodoIndex !== prevState.selectedTodoIndex) {
return { selectIndex: nextProps.selectedTodoIndex }
}
}
這將檢查 App 組件中選定的索引是否已更改,如果是,它將更新 Watch 組件中的狀態。
添加回答
舉報