簡體   English   中英

如何在反應組件中保留道具或 state?

[英]How to retain props or state in a react component?

我有一個組件 compA,它以數組形式接收 props 並使用它來顯示元素。 我需要將歸結為 compA 的 id 作為附加到數組 idsToDisplay 的道具,它取代了之前的 state。

const compA = (ids) => { 
  cost [idsToDisplay, setIdsToDisplay] = useState([]);
  useEffect(() => {
    /* I need both id-123 and id-456 here */
    /* so idsToDisplay should ['id-123','id-456'] once both component calls has been finished.*/
    /* Tried setIdsToDisplay([...idsToDisplay, ids]); But it causes the max depth update 
      warning.*/
  },[idsToDisplay,ids]
}

<compA ids={["id-123"]} />
<compA ids={["id-456"]} />

感謝任何幫助!

不確定你想要完成什么,但我可能會刪除/添加一些東西來改進這個片段,並一起解決你的問題。

  1. 要么將 ids-s 包裝到 '{}' 中,要么將其替換為 props,之后您可以將其作為props.ids訪問

  2. 不確定依賴列表中可能idsToDisplay的邏輯是什么

  3. 您可以只有一個組件,並在那里添加多個 id-s

像這樣:

const compA = ({ids}) => {
    const [idsToDisplay, setIdsToDisplay] = useState([]);
    useEffect(() => {
    setIdsToDisplay(ids);
    }, [ids]);
}

<compA ids={["id-123", "id-456"]}/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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