草庐IT

PropTypes

全部标签

javascript - 如何指定 proptypes 以允许可为空的、必需的 prop 值?

对于我的项目,希望在组件属性中传递null值以指示未指定的值(“已知未知”,如果您愿意的话)。以这种方式使用null是我们团队的惯例。通过组件propTypes定义,我想要求为prop传递一个值,但允许它为null(不是未定义),而Reactprop类型验证不会触发警告。所以以i/o风格重申一下:propvalue=string/number/object/etc-->无警告propvalue=null-->无警告propvalue=undefined(显式或仅省略prop值分配)-->warning如何实现这种行为?一个想法是写一些替代.isRequired的东西,比如.isDefi

javascript - ReactJS 属性验证

我正在从ReactJs转移到React-Native并找到了这个函数结构infacebook'scodeforareact-nativebutton:classButtonextendsReact.Componentany,color?:?string,hasTVPreferredFocus?:?boolean,accessibilityLabel?:?string,disabled?:?boolean,testID?:?string,}>{staticpropTypes={/***Texttodisplayinsidethebutton*/title:PropTypes.string

javascript - Prop 类型 : array of one of the class instance

我正在尝试为我的属性“listOfItems”之一提供类型。我希望此属性是“事件”类实例或“field”类实例的数组。这是我实现它的方式:MyClass.propTypes={...,listOfItems:PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Event),PropTypes.instanceOf(Venue)]))然而,它似乎并没有起作用。我收到此警告:Prop类型失败:提供给MyClass的值[objectObject]的ProplistOfItems[0]无效,应为[空,空]。我不想使用PropT

javascript - React PropTypes 的多重验证

有没有办法使用React.PropTypes对单个prop进行多次验证。特别想混合自定义验证和库存验证。我有两个Prop,一个对象options和一个字符串value。我想检查props.value是一个字符串还是对象上的一个键。使用coffeescript这看起来像:propTypes:options:React.PropTypes.Object.isRequiredvalue:(props,propName,componentName)->unlessprops[propName]ofprops.optionsnewError('mycustommessage')这很好用,但我还想

javascript - ES6 代码风格最佳实践

最近我开始学习ReactJS,因此开始学习ES6。我对ES5很熟悉,但有些事情对我来说不是那么清楚。示例1:方法语法下面两种方法有什么区别?exportclassInvoiceFormextendsReact.Component{methodName1(){}methodName2=()=>{};}例子2:类属性在外面classGreetingextendsReact.Component{render(){return(Hello,{this.props.name});}}Greeting.propTypes={name:PropTypes.string};propTypes在类之外。

javascript - 将 React 组件从函数重构为 ES6 类

我是ES6的新手。对编写React组件的不同方式感到有点困惑。我从“React.createClass”开始,然后转向使用ES6类语法“扩展React.Component”。按照Redux教程,现在我看到他们以这种方式定义组件importReact,{PropTypes}from'react'constTodo=({onClick,completed,text})=>({text})Todo.propTypes={onClick:PropTypes.func.isRequired,completed:PropTypes.bool.isRequired,text:PropTypes.st

javascript - react : TypeError: Cannot read property 'propTypes' of undefined

请我为以下reactjs页面编写一个单元测试。exportdefaultclassCollapsibleextendsReact.Component{staticpropTypes={title:React.PropTypes.string,children:React.PropTypes.any,};render(){const{title}=this.props;return({title}{this.props.children});}}跟着啧啧Here我在下面写了我的测试describe('Collapsible',()=>{it('works',()=>{letrendere

javascript - ReactJS 组件 PropTypes - 指定具有一组参数的函数类型

我在React(版本0.13.3)组件中指定一个必需的函数proptype...varMyComponent=React.createClass({propTypes:{onClick:React.PropTypes.func.isRequired},handleClick(event){this.props.onClick(event,clickCallback);},clickCallback(){console.log("foo");},render(){return}});exportdefaultMyComponent;如您所见,我的onClickProp不仅需要是一个函数,

javascript - Reacts `propTypes` 和 `defaultProps` 应该和 Flowtype 一起使用,还是 Flowtype 够全面?

想到一个简单的例子比如:classCommentAreaComponentextendsReact.Component{staticpropTypes={id:PropTypes.string.isRequired,loading:PropTypes.bool,};staticdefaultProps={loading:false,};在构造函数中我可以定义这样的东西来实现(我认为)同样的事情:classMyComponentextendsReact.Component{constructor({loading=false,}:{id:string,loading?:boolean})

javascript - 如何为 React PropTypes 使用 typescript jsdoc 注释

当使用typescript定义React组件时,我们可以这样写:classSomeComponentextendsReact.Component{//...}有没有办法使用jsdocannotations做同样的事情?并对Prop进行类型检查。 最佳答案 我更喜欢以下形式(es2015+@types/react):/***@typedef{object}Props*@prop{string}className*@prop{number}numberProp**@extends{Component}*/exportdefaultcla