如何更新此已弃用的 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 传入的数组中的对象内部的类型:
AssetsTable.propTypes = {
asset: PropTypes.object.isRequired,
price_usd: PropTypes.string.isRequired
};
基本上,传入的数组具有如下所示的对象:
Prop-types 支持形状就像 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';
导入它,然后像 React.PropTypes
.
一样使用 PropTypes
像使用 React 一样使用 prop-types 库。
例如
import PropTypes from 'prop-types';
class MyComponent extends React.Component {
static propTypes = {
someValue: PropTypes.number
}
}
下面是我得到的当前错误:
这是我当前的 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 传入的数组中的对象内部的类型:
AssetsTable.propTypes = {
asset: PropTypes.object.isRequired,
price_usd: PropTypes.string.isRequired
};
基本上,传入的数组具有如下所示的对象:
Prop-types 支持形状就像 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';
导入它,然后像 React.PropTypes
.
PropTypes
像使用 React 一样使用 prop-types 库。 例如
import PropTypes from 'prop-types';
class MyComponent extends React.Component {
static propTypes = {
someValue: PropTypes.number
}
}