簡體   English   中英

從父組件更新不可變組件的 state

[英]Update state of a immutable component from parent component

我正在開發一個用例,我需要稍微更改一個預先存在的組件。 這是預先存在的組件的代碼,但我不能更改 ABC.tsx 文件,只能導入它。

export const ABC: React.FC<IABC> = (props) => {
  const [selectedKey, setSelectedKey] = useState('0');
  return ();
};

現在,用例來自調用組件,我想將 ABC 的 selectedKey state 更改為不同的值,例如“1”。 有沒有辦法在反應中做到這一點? 我可以使用 ABC 創建克隆/包裝器組件,但不確定如何繼續修改 ABC 的狀態。 任何線索都會有幫助。

你將不得不篡改 ABC.tsx 文件,也許做這樣的事情

export const ABC: React.FC<IABC> = (props) => {
  const [selectedKey, setSelectedKey] = useState(props.abc_integer);
  return ();
};

否則沒有其他方法可以做到這一點,即使你運行一個克隆或做一些 React 孩子,你仍然需要篡改。 讓團隊中編寫組件 ABC 的任何人對其進行更改以適合您的需求,或者您只需克隆其代碼並通過包裝器運行它。

psa:據我所知,任何其他方法都是反反應模式

暫無
暫無

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

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