react总结

一、dangerouslySetInnerHTML, 让React正常显示你的html代码

var Test = React.createClass({
 
          getInitialState: function() {
            return {html: '我想让它换行显示<br />,我想让它换行显示<br />'};
          },
 
          render: function() {
 
            return (
 
              <div>{this.state.html}</div>
            );
          }
});
React.render(<Test />,  document.getElementById('example'));
  

显示效果:

我想让它换行显示<br />,我想让它换行显示<br />

应改为:

<div dangerouslySetHTML={{_html:this.state.html}}></div>

 

2、this.props对象的属性与组件的属性一一对应,但有一个例外,就是this.props.children属性,它表示组件的所有子节点

用法:

var NotesList = React.createClass({
  render: function() {
    return (
      <ol>
      {
        React.Children.map(this.props.children, function (child) {
          return <li>{child}</li>;
        })
      }
      </ol>
    );
  }
});

ReactDOM.render(
  <NotesList>
    <span>hello</span>
    <span>world</span>
  </NotesList>,
  document.body
);

this.props.children表示组件NotesList的所有子节点,由于this.props.children可能有三种值,undefined、Object、Array,React提供了React.Children这个工具方法来处理this.props.children,我们可以用 React.Children.map 来遍历子节点,而不用担心 this.props.children 的数据类型是 undefined 还是 object

 

posted @ 2017-01-18 10:41  大饼脸  阅读(119)  评论(0编辑  收藏  举报