繁体   English   中英

反应 - 为什么 state 在安装时没有设置,以后也不会改变

[英]React - why state doesn't set upon mounting, and doesn't change later

这是链接: https://codesandbox.io/s/heuristic-heisenberg-9cxb9?file=/src/components/card-detail/card-detail.jsx

挂载 CardDetail 组件时(当用户单击 CardList 中的某个 Card 时),state 属性loadedData 会以当前日期时间加载,但它不会在挂载 CardDetail 时显示在应该的位置: <p>-{this.state.loadedData}-</p>

它不会更新,因为您告诉它不要更新。

componentDidMount发生第一次渲染之后。 因此调用setState将导致重新渲染,但在您的componentShouldUpdate中,您仅在更改m属性时才限制重新渲染。

您可以在检查中包含&& nextState === this.state ,或者您可以使用componentWillMount而不是在首次渲染之前发生的componentDidMount


所以需要明确的是,state更新,但您不允许它重新渲染以显示它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM