簡體   English   中英

我如何確保React道具的類型正確

[英]How can I ensure React props are of the correct type

我有一個處理相當大的數據集的組件,並且圍繞數組創建了一個代理包裝器,該包裝器有助於處理重復操作(例如排序)。

我想確保如果數據( data屬性)以數組的形式傳遞到我的組件中,那么它將得到環繞它的代理。 換句話說,是這樣的:

constructor(props, ...args) {
  if (props.data && !props.data.isData) {
    props.data = new Proxy(props.data, proxyHandlers);
  }

  super(props, ...args);
}

(以及componentWillReceiveProps中類似的內容)。

這是行不通的,因為React會鎖定道具以使其不可變。 什么是實現此目標的正確的React-y方法?

您應該使用更高階的組件將道具轉換為所需的道具。

就像是

const props => {
  if (props.data && !props.data.isData) {
    const newData = new Proxy(props.data, proxyHandlers);
    return <MyOldComponent data={newData} />;
  }
  return null;
}

暫無
暫無

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

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