簡體   English   中英

如何更新此不推薦使用的React.PropTypes代碼

[英]How to update this deprecated React.PropTypes code

以下是我得到的當前錯誤:

在此處輸入圖片說明

這是我當前的PropTypes代碼,我需要檢查進入數組中的對象是否具有以下屬性(id和name)。

React.PropTypes.arrayOf(
    React.PropTypes.shape({
        id: React.PropTypes.string.isRequired,
        name: React.PropTypes.string.isRequired
    })
).isRequired

在這里閱讀https://github.com/tomchentw/react-google-maps/issues/463顯然將不推薦使用React.PropTypes。

但是,您將如何僅通過以下邏輯檢查通過Props傳入的Array中的Object的內部類型:

AssetsTable.propTypes = {
    asset: PropTypes.object.isRequired,
    price_usd: PropTypes.string.isRequired
};

基本上,數組傳入的對象如下所示: 在此處輸入圖片說明

道具類型React.PropTypes一樣支持形狀

React Docs

  // An object taking on a particular shape
  optionalObjectWithShape: PropTypes.shape({
    color: PropTypes.string,
    fontSize: PropTypes.number
  }),

在使用React.PropTypes ,首先需要安裝prop-types軟件包(通過npm或您最喜歡的軟件包管理器)。 然后使用import PropTypes from 'prop-types';導入它import PropTypes from 'prop-types'; ,然后像使用PropTypes一樣使用React.PropTypes

像使用React一樣使用prop-types庫。 例如

import PropTypes from 'prop-type';

class MyComponent extends React.Component {
   static propTypes = {
      someValue: PropTypes.number
   }
}

暫無
暫無

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

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