react 父组件的list更新了,子组件render不执行
1-父组件点击changeTab 跟新state里面的值list(数组)
changeTab(el) {
this.setState({
curStatus:el.key ,
list:[...todoList[el.key].list]
})
}
2- list数组给子组件进行渲染
<InputBox list={list} curStatus={curStatus}></InputBox>
3- 子组件拿到list 赋值给todolist 自己保存下来渲染页面
static getDerivedStateFromProps(props, state) {
console.log('props, state' ,props, state);
return {
todoList: [...props.list]
};
}
render () {
const {todoList} = this.state
console.log('todoList' , todoList[0]); //这里的todoList也是更新的
return (
<div>
<div>{this.props.curStatus}</div>
{
//下面就是不跟新
todoList.map(el => {
return (
<div className='dis-flex flex-center input-box focus' key={el.id}>
<Checkbox onChange={(e) => this.onChange(e)} checked={el.isOver} />
<Input placeholder="输入todo " defaultValue={el.name} />
</div>
)
})
}
求解,不知道哪里错了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以把
defaultValue
换成value
试下,不行的话建议提供一下 codesandbox demo~