React.createClass
参数:config(object)
创建一个ReactClass(组件类),参数是一个对象且必须带有render属性方法,该方法必须返回一个封闭的容器(容器内可以由其他不限结构的容器)或null/false(表示啥都不渲染):
var Component = React.createClass({ render: function() { return this.props.a==1 ? <div><h1>标题</h1><p>123</p></div> : null } }); ReactDOM.render( <Component a="1" />, document.body );
注意:在该方法里面,所有的this都会在最终调用时自动的绑定到当前组件的构造器上。
React.createElement
参数:type(string/ReactClass),[props(object)],[children(ReactElement)]
创建一个指定类型的React元素,注意第三个参数children可以是任意个React元素。
var Component = React.createClass({ render: function() { return this.props.a==1 ? <p>123</p> : null } }); ReactDOM.render( React.createElement(‘div‘, null, React.createElement( ‘p‘, null, React.createElement(‘span‘, null, ‘Hello,‘), React.createElement(‘span‘, null, ‘world,‘), React.createElement( Component, {a : 1}) ) ), document.body );
React.cloneElement
参数:type(ReactElement),[props(object)],[children(ReactElement)]
克隆并返回一个新的ReactElement(内部子元素也会跟着克隆),新返回的元素会保留有旧元素的props,ref,key,也会集成新的props(只要在第二个参数中有定义)
时间: 2024-10-25 14:51:30