arrays - 用形状 react proptype 数组

标签 arrays reactjs react-proptypes

是否有一种内置方法可以使用 proptypes 来确保传递给组件的对象数组实际上是特定形状的对象数组?

也许是这样的?

annotationRanges: PropTypes.array(PropTypes.shape({
    start: PropTypes.number.isRequired,
    end: PropTypes.number.isRequired,
})),

我在这里错过了一些非常明显的东西吗?看来这会很受追捧。

最佳答案

您可以使用React.PropTypes.shape()作为React.PropTypes.arrayOf()的参数:

// an array of a particular shape.
ReactComponent.propTypes = {
   arrayWithShape: React.PropTypes.arrayOf(React.PropTypes.shape({
     color: React.PropTypes.string.isRequired,
     fontSize: React.PropTypes.number.isRequired,
   })).isRequired,
}

请参阅Prop Validation文档部分。

更新

react v15.5 开始,使用 React.PropTypes 已被弃用,应使用独立包 prop-types :

// an array of a particular shape.
import PropTypes from 'prop-types'; // ES6 

//...

var PropTypes = require('prop-types'); // ES5 with npm
ReactComponent.propTypes = {
   arrayWithShape: PropTypes.arrayOf(PropTypes.shape({
     color: PropTypes.string.isRequired,
     fontSize: PropTypes.number.isRequired,
   })).isRequired,
}

关于arrays - 用形状 react proptype 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32325912/

相关文章:

javascript - 根据所选的单选按钮显示数组项的数据

javascript - React 中出现错误 "PropTypes is not defined"

javascript - 如果我添加 PropTypes,我需要检查 typeof 吗?

python - 为什么 NumPy 对数组和标量返回不同的类型?

c - 在C中减去两个字符串

arrays - 无法将类型 'Meme!' 的值转换为预期参数类型 '@noescape (Meme) throws -> Bool'

javascript - 从另一个模块导入 PropType 值会导致未定义

c# - 从 char[] 转换后从字符串中修剪/空值(在 C# 中)

javascript - Reactjs如何将当前页面的props传递给子页面

ajax - React/Redux 下载文件