当前位置: 首页 > 知识库问答 >
问题:

有形状反应型列阵

丁雅惠
2023-03-14

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

也许是这样的?

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

我是不是漏了什么特别明显的东西?看来这会很受欢迎。

共有3个答案

柴飞扬
2023-03-14

就在这里...就在我眼皮底下:

来自react文档本身:https://facebook.github.io/react/docs/reusable-components.html

// An array of a certain type
    optionalArrayOf: React.PropTypes.arrayOf(React.PropTypes.number),
孟韬
2023-03-14

是的,您需要使用proptypes.arrayof而不是proptypes.array在代码中,您可以这样做:

import PropTypes from 'prop-types';

MyComponent.propTypes = {
  annotationRanges: PropTypes.arrayOf(
    PropTypes.shape({
      start: PropTypes.string.isRequired,
      end: PropTypes.number.isRequired
    }).isRequired
  ).isRequired
}

有关proptypes的更多详细信息,请访问此处的Typechecking With proptypes

沈成天
2023-03-14

您可以使用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,
}

请参阅文档中的“适当验证”部分。

更新

React.PropTypes开始,不推荐使用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,
}
 类似资料:
  • 问题内容: 和之间有什么区别?在文档中: 与 什么时候应该使用,什么时候应该使用? 问题答案: 用于描述其属性均为相同类型的对象。 用于描述对象的键事先已知的对象,并且可以表示不同的类型。

  • 我见过多个使用Typescript的React组件示例: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++组件 当我们不使用道具或国家时,似乎没有一个明确的惯例。 人们将这些类型设置为,,,, ,等等。这是我到目前为止看到的:

  • 尝试实现reactive graph ql并遇到一些问题。 pom相关性, 架构:- 分解器:- 这里,如果我返回Flux或Mono,得到以下错误。 所以,尝试作为列表返回。 但是使用阻塞调用将Flux转换为List也会抛出错误, 这里,得到下面的错误。 使用graphiql进行测试。 http://localhost:8089/graphiql

  • 问题内容: 如何创建一个数组到numpy数组? 我收到错误消息 所以,我想我需要将X转换为numpy数组吗? 问题答案: 使用在使用属性。 NOTE 为给定数组返回3个项目的元组;加薪。

  • 我有一个顺序模型定义如下: 我想更改此模型,以获取可变形状的输入。具体来说,第一个维度需要可变。阅读关于指定输入形状的Keras文档,我发现可以在input\u shape元组中使用None条目,其中None表示可能需要任何正整数。 对于现有模型,如果我将input\u形状从(2,4)更改为(None,4),我将收到以下错误: 我不确定,但我不相信当模型包含一个flatte()层时,可以指定可变的

  • 有人能帮我吗,我一直在试着运行下面的脚本 但却发生了这样的错误 下面是完整的脚本