gpt4 book ai didi

javascript - Prop 更改时 react 组件不会重新渲染

转载 作者:行者123 更新时间:2023-11-30 09:17:47 25 4
gpt4 key购买 nike

这是我的 2 个 React 组件——父组件和子组件

class ParentComponent extends Component{

render(){
/* consultations comes from redux store
and looks like { consultation_id:123, date:10/12/2013 } */
return(
_.map(this.props.consultations,(consultation)=>{

return{
<ChildComponent consultation={consultation} />
}
})
);
}
}

class ChildComponent extends Component{

render(){
return(
<div>this.props.consultation.date</div>
);
}
}

我的问题是我有一些修改协商对象的操作。例如:父组件中的 props.consultation.date 发生变化,但子组件不会重新渲染以显示最新的咨询日期。

但是,我注意到如果我将咨询对象中的每个项目发送到子组件,如 <ChildComponent date={this.props.consultation.date} />它会在日期更改时重新呈现!

知道为什么当作为对象发送的 props 发生变化时 React 不重新渲染组件吗?

我总是可以解决这个问题,但想知道这是一个错误还是我遗漏了什么?

最佳答案

解决方案是将 consultation={consultation} 更改为 consultation={...consultation}。 我仍然不确定为什么,但它有效!

关于javascript - Prop 更改时 react 组件不会重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53883478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com