reactjs – 如何在React组件PropTypes中定义替代必需属性?
发布时间:2020-12-15 16:19:35 所属栏目:百科 来源:网络整理
导读:这是用例:组件TableGroup应该要求用户指定data属性,该属性是要在表中呈现的对象数组或requestDataUrl属性,组件将从该属性获取该对象数组.简而言之,这两个属性中的一个是必需的,但不是两个.我怎么能在下面的component.propTypes对象中实现呢? TableGroup.pr
这是用例:组件TableGroup应该要求用户指定data属性,该属性是要在表中呈现的对象数组或requestDataUrl属性,组件将从该属性获取该对象数组.简而言之,这两个属性中的一个是必需的,但不是两个.我怎么能在下面的component.propTypes对象中实现呢?
TableGroup.propTypes = { fieldNames: React.PropTypes.array.isRequired,dataFields: React.PropTypes.array.isRequired,uniqueField: React.PropTypes.string.isRequired,data: React.PropTypes.array,requestUrlSource: http://someurl/api/resource } 解决方法
要达到预期效果,请使用以下选项
function dataOrRequest(props,propName,componentName) { return (!props.hasOwnProperty('data') && !props.hasOwnProperty('requestUrlSource')) && new Error(`Either "data" or "requestUrlSource" is required`); } TableGroup.propTypes = { fieldNames: React.PropTypes.array.isRequired,data: dataOrRequest,requestUrlSource: dataOrRequest } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – 如何在rails中从基于数据库的created_at中
- React PHP如何处理异步非阻塞I / O?
- ruby-on-rails – 如何在Ruby on Rails中验证activeRecord模
- ruby-on-rails – 什么是ruby / rails的工作?
- OpenCV保存成XML(FileStorage)和CSV(重载<<运算符)文
- ruby-on-rails – ARM上的Ruby on Rails性能
- Air flex 读/写文件
- ajax实现文件上传,多文件上传,追加参数
- 查看应用程序依赖库
- objective-c – NSManagedObject子类生成的CoreDataPropert