reactjs 语法收集

ReactDOM.render

var arr = [
<h1>Hello world!</h1>,<h2>React is awesome</h2>,];
  ReactDOM.render(
<div>{arr}</div>,document.getElementById('example')
);

React.createClass

var HelloMessage = React.createClass({
    render: function() {
          return <h1>Hello {this.props.name}</h1>;
    }
  });

  ReactDOM.render(
    <HelloMessage name="John" />,document.getElementById('example')
  );

属性

1). this.props.name

添加组件属性,有一个地方需要注意,就是 class 属性需要写成 className ,for 属性需要写成 htmlFor ,这是因为 class 和 for 是 JavaScript 的保留字。

2). this.props.children

React 提供一个工具方法 React.Children 来处理 this.props.children 。我们可以用 React.Children.map 来遍历子节点,而不用担心 this.props.children 的数据类型是 undefined 还是 object。

3). PropTypes

4). getDefaultProps

5). this.refs.[refName]
从组件中获取真实DOM 的节点

6). this.state

var LikeButton = React.createClass({
    getInitialState: function() {
         return {liked: false};
    },handleClick: function(event) {
       this.setState({liked: !this.state.liked});
    },render: function() {
       var text = this.state.liked ? 'like' : 'haven\'t liked';
       return (
           <p onClick={this.handleClick}>
           You {text} this. Click to toggle.
          </p>
      );
    }
});

ReactDOM.render(
   <LikeButton />,document.getElementById('example')
);

由于 this.props 和 this.state 都用于描述组件的特性,可能会产生混淆。一个简单的区分方法是,this.props 表示那些一旦定义,就不再改变的特性,而 this.state 是会随着用户互动而产生变化的特性。

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...