Javascript 反应重新呈现状态问题

Javascript 反应重新呈现状态问题,javascript,reactjs,state,render,Javascript,Reactjs,State,Render,不知是否有人能帮我。当状态更新以重新呈现react文件中的所有状态时,我遇到了一个奇怪的问题: 以下是我在执行其他操作时不想更新的主要状态: {dashboard.layout.map((layout,i)=>createContent(layout,i))} 但是,在使用“材质UI”对话框时,我单击一个按钮打开该对话框,该对话框将更新状态,如下所示: onClick={handleDashletSelectorOpen} const handleDashletSelectorOpen = ()

不知是否有人能帮我。当状态更新以重新呈现react文件中的所有状态时,我遇到了一个奇怪的问题:

以下是我在执行其他操作时不想更新的主要状态:

{dashboard.layout.map((layout,i)=>createContent(layout,i))}

但是,在使用“材质UI”对话框时,我单击一个按钮打开该对话框,该对话框将更新状态,如下所示:

onClick={handleDashletSelectorOpen}
const handleDashletSelectorOpen = () => {
    setDashletSelectorOpen(true);
  };
以下是两个有问题的国家:

const [dashboard, setDashboard] = useState({
    layout: [],
    widgets: []
  });
const [dashletSelector, setDashletSelectorOpen] = useState(false);
我想做的是打开对话框,但不重新呈现仪表板状态。这可能吗?我肯定有一些简单的东西我错过了,但无法找到它

任何援助都将是巨大的


谢谢

这件事我完全搞错了。这里的问题是,不同的“状态”不是不同的状态,而是一个具有多个道具的状态。一旦我意识到这一点,解决方案就很容易了,为了解决这个问题,我移动了所有其他对子组件不重要的道具,如果父组件重新渲染,那么这很好,但是如果子组件重新渲染,那么父组件就没有。使用charm

检查渲染布局是否完全相同,否则会在每个函数上重新渲染是的,它们应该与作为数组一部分拾取的元素键相同,并且数组是从仪表板状态生成的,当尝试加载MUI对话框时,仪表板状态不会改变。