想知道是否有人能帮我。当一个状态更新以重新呈现反应文件中的所有状态时,我遇到了这个奇怪的问题:
以下是我在做其他事情时不想更新的主要状态:
{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);
我想做的是打开对话框,但不重新呈现仪表板状态。这可能吗?我确信我错过了一些简单的东西,但我想不出来。
任何帮助都将是伟大的。
感谢
我做错了。这里的问题是不同的";状态";不是不同的状态,而是一个有多个支柱的状态。一旦我意识到这一点,解决方案就很容易了,为了解决这个问题,我以这种方式移动了所有其他对子组件无关紧要的道具——如果父组件重新渲染了,那没关系,但如果子组件重新渲染,那么父组件就没有了。做过魅力