想知道是否有人可以帮助我。当状态更新为在响应文件中重新渲染所有状态时,我遇到了这个奇怪的问题:
这是我在执行其他操作时不想更新的主要状态:
{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);
我想做的是打开对话框,但不重新呈现仪表板状态。这可能吗?我确定我容易错过一些事情,但无法弄清楚。
任何帮助都会很棒。
谢谢
答案 0 :(得分:0)
我本来想都错了。这里的问题是不同的“状态”不是不同的状态,而是具有多个道具的一个状态。一旦我意识到这个解决方案很容易,为了解决这个问题,我将所有其他无关紧要的道具移到了子组件上,如果父母重新渲染了,那就很好了,但是如果孩子重新渲染了,那么父母没有。很有魅力