簡體   English   中英

React 重新渲染 State 問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM