当前位置: 首页 > 面试题库 >

如何在ReactJS中验证嵌套对象的PropTypes?

倪子晋
2023-03-14
问题内容

我正在使用数据对象作为ReactJS中组件的道具。

<Field data={data} />

我知道容易验证PropTypes对象本身:

propTypes: {
  data: React.PropTypes.object
}

但是,如果我想验证其中的值怎么办?即。data.id,data.title?

props[propName]: React.PropTypes.number.required // etc...

问题答案:

您可以React.PropTypes.shape用来验证属性:

propTypes: {
    data: React.PropTypes.shape({
      id: React.PropTypes.number.isRequired,
      title: React.PropTypes.string
    })
}

更新资料

正如@Chris在评论中指出的那样,从React 15.5.0版本开始React.PropTypes已移至package prop-types

import PropTypes from 'prop-types';

propTypes: {
    data: PropTypes.shape({
      id: PropTypes.number.isRequired,
      title: PropTypes.string
    })
}

更多信息



 类似资料:
  • 我使用的是OpenApi规范,这是生成类的代码示例: 我想禁止发送以下请求: 如果我使用了它看起来像: 有什么方法可以使用文件做同样的事情吗?

  • 我试图通过将请求参数直接绑定到用户实体来简化我的代码,而不是一个字段一个字段地复制值,但是我似乎不能通过这种方式得到验证。 控制器: 验证器: 模型(注意嵌套对象用@Valid标注): 问题是只有密码和重新密码字段被正确验证,用户类中的验证注释被忽略,任何密码匹配的请求都通过,但它应该会出现错误。空密码或不同的密码会按预期出现错误。

  • 在使用空手道框架进行API测试时,我在验证嵌套JSON响应时遇到了一些问题。 JSON响应: null def feed_cycle={item_type:'#string',title:'#string'} def feed_college_dept_branch={branch:'#string'} def feed_college={item_type:'#string',dept:'[]f

  • 问题内容: 我使用sf.json库在Java Web应用程序中映射传入请求的表单数据。 可以说传入请求是http:// localhost:8080 / app / addProfile ,其表单数据为: 服务器端 : 这种方法的主要问题是,如果对结构进行少量修改,则需要修改整个代码。 有没有可以配置验证所需规则的api? 问题答案: 您可以使用Json验证器:-https: //github.c

  • 我使用sf.json库来映射在java中的Web应用程序中传入请求的表单数据。 假设传入请求http://localhost:8080/app/addProfile表单数据为: 服务器端: 这种方法的主要问题是,如果在结构中有微小的修改,那么整个代码都需要修改。 是否有api可以配置验证所需的规则?

  • 我想把验证放在角度6中。它应该包含字母数字字符。字母或数字,仅3到9位。如果是数字,则应以1开头。 任何人都可以帮助我进行这些验证吗?