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 组件中的状态。
添加回答
举报
