reactjs - React 不会按预期创建新的嵌套组件
问题描述
在我的应用程序中,我有一个使用父组件状态属性之一的页面更改机制。
所以我做类似的事情:
class mainComponent{
state={
mypage:null
}
onclickhandler(page){
this.setState({mypage:page});
}
render(){
return <div>{page}</div>
};
}
在我的“页面”属性中,我有各种输入字段和其他组件。
当我更改页面时,所有输入都会更新为新值。但是,我的自定义嵌套组件永远不会重新创建。
相反,到达只是呼吁componentDidUpdate
他们。
有没有办法强制它以某种方式构造一个新的嵌套组件?
解决方案
React 不会在不需要时重新创建组件——它是优化的一部分,也是 react 工作的一般方式。
当“新”、“预期”组件存在(相同类型、相同或没有key
id)时,它只接收更新的道具。
更新道具有时不会强制重新渲染(保证状态更新)。PureComponent
比较浅的 props,你可以检查shouldComponentUpdate
(应该返回 true 来强制渲染)。
推荐阅读
- javascript - 下载 Javascript 内容
- windows-services - 每次服务器从 windows server 2012 R2 重新启动时,已安装的程序都会自动删除
- terraform - Can't import aws_security_group.sg_name, would collide with an existing resource
- git - 在网络共享路径中创建 Git 存储库并在存储库中维护代码
- css - 如果单击页面链接,则关闭导航菜单
- java - 未能调用链代码名称:“lscc”,错误:交易返回失败:调用未定义的合约方法
- ios - UINavigationBar shadowImage 不适用于动态图像(深色模式)
- cassandra - 直方图溢出时无法计算最大值的上限
- javascript - 打印 Div ID html 内容 服务器端
- mysql - 用于插入和更新的 Mysql 存储过程与 where 数组