- 数据流
- Props
- State
数据流
本节将介绍如何在 React 中应用简单的数据流。
在 React 中,数据的载体主要有两种方式:
propsstate
来看一下如何使用者两种不同的方式来处理数据。
Props
props 即属性 (property),是在组件初始化之后就从父级组件带入的到组件内部。
我们无法在使用的过程中对组件的属性进行修改。
// 定义一个 React 组件var A = React.createClass({render: function () {return <h1>{this.props.text}</h1>}})// 使用组件 AReactDOM.render(<A text="title" />,document.getElementById('app'))
在以上代码中,我们定义了一个组件 A,然后在 render 方法中渲染了一个内容为 this.props.text 的变量。
State
state则是实际上组件中使用的「数据」:
var B = React.createClass({getInitialState: function () {return {value: 0}},render: function () {return (<div><input value={this.state.value} /><button onClick={() => {this.setState({value: ++this.state.value})}}>+</button></div>)}})ReactDOM.render(<B />,document.getElementById('app'))
在上述例子中,可以看到我们给一个<button>绑定了click事件:
this.setState({value: ++this.state.value});
调用 this.setState() 方法可以修改组件的state,并重新调用render方法 — 重新渲染组件。
