React从入门到精通系列之(21)React顶级API
二十一、React顶级API全局变量 总览ComponentsReact组件可以让你将UI部分独立出来,成为可重用的部分。从而单独考虑分离出来的每一部分功能。可以通过
如果你不是用ES6的class功能,你可以使用以下代替:
创建一个React元素我们推荐使用
处理React元素
使用PropTypes进行类型检测你可以使用
以上的验查器默认都是可选的。你可以使用 插件如果你使用了
使用方法React.Component
class Greeting extends React.Component { render() { return <h1>Hello,{this.props.name}</h1> } } ReactDOM.render( <Greeting name={"zhangyatao"}/>,document.getElementById('root) ) React.PureComponet
如果你React组件的
React.createClass()React.createClass(specification) 如果你还没有使用ES6,你可以使用 var Greeting = React.createClass({ setInitialState: function() { return {value: 0}; },render: function() { return <h1>Hello,{this.props.name}</h1>; } }) React.createElement()React.ceateElement( type,[props],[...children] ) 通过传入的类型和属性以及子元素来创建并返回一个新的
使用JSX写的代码会被转换为 React.cloneElement()React.cloneElement( element,[...children] ) 传入一个React元素进行克隆并返回一个新的React元素。 React.createFactory()React.createFactory(type) 返回一个生成给定类型的React元素的函数。就像 这种方法可以是一个历史版本遗留产物,我们推荐你是用JSX或者使用 使用JSX写的代码会被转换为 React.isValidElement()React.isValidElement(Object) 验证一个对象是否是React元素,返回 React.ChildrenReact.children提供了处理 React.Children.mapReact.Children.map(children,function[(thisArg)) React.Children.forEachReact.Children.forEach(children,function[(thisArg)]) 和 React.Children.countReact.Children.count(children) 返回children中的组件总数。 React.Children.onlyReact.Children.only(children) 然会children中的只出现一次的子元素。否则抛出。 React.Children.toArrayReact.Children.toArray(children) 将子元素中的不透明数据结构作为一个一维数组返回。如果你想在 React.PropTypes
React.PropTypes.arrayReact.PropTypes.array 验证prop是一个数组类型。 React.PropTypes.boolReact.PropTypes.bool 验证prop是一个布尔值。 React.PropTypes.funcReact.PropTypes.func 验证prop是一个函数。 React.PropTypes.numberReact.PropTypes.number 验证prop是一个数字。 React.PropTypes.objectReact.PropTypes.object 验证prop是一个对象。 React.PropTypes.stringReact.PropTypes.string 验证prop是一个字符串。 React.PropTypes.symbolReact.PropTypes.symbol 验证prop是一个symbol。 React.PropTypes.nodeReact.PropTypes.node 验证prop是一个可以渲染的东西:数字,字符串,元素 或者包含这些类型的数组(或片段)。 React.PropTypes.elementReact.PropTypes.element 验证prop是一个React元素。 React.PropTypes.instanceOf()React.PropTypes.instanceOf(class) 验证prop是否是class的实例,使用Javascript中的 React.PropTypes.oneOf()React.PropTypes.oneOf(arrayOfValues) 通过将其视为枚举来验证prop是否受限于特定值。 MyComponent.propTypes = { optionalEnum: React.PropTypes.oneOf(['News','Photos']); } React.PropTypes.oneOfType()React.PropTypes.oneOfType() 验证prop是可以是多种类型之一的对象。 MyComponent.propTypes = { optionalUnion: React.PropTypes.oneOfType([ React.PropTypes.string,React.PropTypes.number,React.PropTypes.instanceOf(Message) ]),} React.PropTypes.arrayOf()React.PropTypes.arrayOf(propType) 验证porp是一个特定类型的数组。 MyComponent.propTypes = { optionalArrayOf: React.PropTypes.arrayOf(React.PropTypes.number),} React.PropTypes.objectOf()React.PropTypes.objectOf(propType) 验证prop是具有某个类型的属性值的对象。 MyComponent.propTypes = { optionalObjectOf: React.PropTypes.objectOf(React.PropTypes.number),} React.PropTypes.shape()React.PropTypes.shape(object) 验证prop是采取特定形状的对象。 MyComponent.propTypes = { optionalObjectWithShape: React.PropTypes.shape({ color: React.PropTypes.string,fontSize: React.PropTypes.number }),} React.PropTypes.anyReact.PropTypes.any 验证prop具有任何数据类型的值。 通常后面是 MyComponent.propTypes = { requiredAny: React.PropTypes.any.isRequired,} isRequiredpropTypes.isRequired 您可以使用isRequired链接上述任何验证器,以确保在未提供prop的情况下显示警告。 MyComponent.propTypes = { requiredFunc: React.PropTypes.func.isRequired,} React.addonsReact.addons
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ajax简单的封装一下
- ruby-on-rails – 环境中的Rails 3电子邮件密码.rb?推送到
- 3.2 依赖注入的3种实现方式
- postgresql – 在Postgres中有效搜索整个1级嵌套JSONB
- objective-c – 目标C – 如何将数字附加到另一个数字的末尾
- ruby-on-rails – rails 3.2 rails生成rspec:install … u
- 泛型 – 对泛型扩展的快速类型约束
- c# – 从vb.net调用WCF时如何增加MaxReceivedMessageSize
- ruby-on-rails – rails button_to:disabled => true仍然显
- Vue实现表格中对数据进行转换、处理的方法