首页 > 代码库 > React遍历组件元素的子元素
React遍历组件元素的子元素
// 创建组件
var NewDom = React.createClass({ // 类名一定要大写开头 render: function () { return ( <ol> { React.Children.map(this.props.children, function (child) { // 获得元素的子元素 console.info(child); return (<li>{child}</li>); }) } </ol> ) } }); ReactDOM.render( <NewDom> <span>123</span> <span>456</span> </NewDom>, document.getElementById(‘example‘) );
ES6的写法:
class NewDom extends React.Component { render() { // 开头花括号一定要和小括号隔一个空格,否则识别不出来 // 标签开头一定要和return一行 return <ol> { React.Children.map(this.props.children, function (child) { return <li>{child}</li> }) } </ol>; } } ReactDOM.render( <NewDom> <span>123</span> <span>456</span> </NewDom>, document.getElementById(‘example‘) );
React组件的属性props
var NewDom = React.createClass({ // 类名一定要大写 getDefaultProps: function () { // 设置默认属性 return {title: ‘123‘}; }, propTypes: { title: React.PropTypes.string }, render: function () { return (<div>{this.props.title}</div>); // 变量用花括号标识 } }); ReactDOM.render( <NewDom />, document.getElementById(‘example‘) );
ES6
class NewDom extends React.Component { // 不能在组件定义的时候定义一个属性 render() { return (<div>1 {this.props.title}</div>) } } NewDom.propTypes = { title: React.PropTypes.bool }; NewDom.defaultProps = {title: ‘123‘}; // 设置默认属性 ReactDOM.render( <NewDom/>, document.getElementById(‘example‘) );
React遍历组件元素的子元素
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。