Reactjs React不会按预期创建新的嵌套组件

Reactjs React不会按预期创建新的嵌套组件,reactjs,Reactjs,在我的应用程序中,我有一个使用父组件状态属性之一的页面更改机制 所以我做了一些类似的事情: class mainComponent{ state={ mypage:null } onclickhandler(page){ this.setState({mypage:page}); } render(){ return <div>{page}</div> }; } 在我的页面属性中,我有各种输入字段和其他组件 当我更改页

在我的应用程序中,我有一个使用父组件状态属性之一的页面更改机制

所以我做了一些类似的事情:

class mainComponent{
  state={
    mypage:null
  }

  onclickhandler(page){
    this.setState({mypage:page});
  }

  render(){
    return <div>{page}</div>
  };
}
在我的页面属性中,我有各种输入字段和其他组件

当我更改页面时,所有输入都会用新值更新。但是,我的自定义嵌套组件永远不会重新创建

相反,reach只调用componentDidUpdate


有没有办法强迫它以某种方式构造一个新的嵌套组件?

React不会在不需要的时候重新创建组件-这是优化的一部分,也是React工作的一般方式

当“新”、“预期”组件存在相同类型、相同或没有密钥id时,它只接收更新的道具


更新道具有时不会强制重新命名,因为状态更新是有保证的。PureComponent将道具进行了简单的比较,您可以检查shouldComponentUpdate是否应返回true以强制渲染。

onclickhandlerpage{是否应该像onclickhandler=page=>{?另外,我猜state不能有;,它可能应该像state={mypage:null}没有;您的代码有太多错误。您正在使mypage处于状态,然后正在执行此操作。在处理程序中,您可能应该执行类似的操作。setState{mypage:page}当您执行类似操作时,page是什么?我更正了这些输入错误…问题仍然相关缺少太多详细信息,创建如何使用componentShouldUpdate强制重新渲染?我最终使用键重新渲染内部组件。感谢您的解决方案!