[英]React Re-Render State Issue
想知道是否有人可以幫助我。 當 state 更新以重新呈現反應文件中的所有狀態時,我遇到了這個奇怪的問題:
這是我在做其他事情時不想更新的主要 state:
{dashboard.layout.map((layout, i) => createContent(layout, i))}
但是,當使用 Material UI 對話框時,我單擊一個按鈕將其打開,更新 state 如下:
onClick={handleDashletSelectorOpen}
const handleDashletSelectorOpen = () => {
setDashletSelectorOpen(true);
};
這是有問題的兩個州:
const [dashboard, setDashboard] = useState({
layout: [],
widgets: []
});
const [dashletSelector, setDashletSelectorOpen] = useState(false);
我想做的是打開對話框但不重新呈現儀表板 state。這可能嗎? 我確定我缺少一些簡單但無法弄清楚的東西。
任何幫助都會很棒。
謝謝
我的想法全錯了。 這里的問題是不同的“狀態”不是不同的狀態,而是一個帶有多個道具的 state。 一旦我意識到這一點,解決方案就很簡單,為了解決這個問題,我將所有其他無關緊要的道具移動到子組件,如果父組件重新渲染,那很好,但如果子組件重新渲染,那么父組件沒有。 很有魅力
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.