React征途

ReactJS第三天

2017-07-19  本文已影响0人  TonyerX

propTypes 检查组件的属性值是否符合要求

        var Test = React.createClass({
            PropTypes: {
                title: React.PropTypes.string.isRequired
            },
            render: function() {
                return (
                    <h1>{this.props.title}</h1>
                )
            }
        });
        var titleData = 111;
        ReactDOM.render(
            <Test title={titleData}></Test>,
            document.querySelector('#display')
        );

注意React.PropTypes是大写开头

ref 真实DOM

state 状态机

state和props的区别

都用于描述组件的特性,this.props表示那些一旦定义,就不再改变的特性,而this.state是会随着用户互动而产生变化的特性。

表单与onChange、setState、event.target.value实现值同步

输入框实时输入的值,不能用 this.props.value 读取,而要定义一个 onChange 事件的回调函数,通过 event.target.value 读取用户输入的值。textarea 元素、select元素、radio元素都属于这种情况

var MyInput = React.createClass({
            getInitialState: function() {
                return {
                    value: "input some words here"
                };
            },
            inputHandleChange: function(e) {
                this.setState({
                    value: e.target.value
                });
            },
            render: function() {
                return (    
                    <div>
                        <input type="text" value={this.state.value} onChange={this.inputHandleChange}/>
                        <h1>{this.state.value}</h1>
                    </div>
                );
            }
        });
        ReactDOM.render(
            <MyInput></MyInput>,
            document.querySelector('#display')
        );

生命周期

生命周期的三个状态

生命周期调用的方法:

组件样式

  style="opacity:{this.state.opacity};"
  style={{opacity: this.state.opacity}}
上一篇 下一篇

猜你喜欢

热点阅读