React 表單與事件
我們將討論如何在 React 中使用表單。
一個簡單的實例
在實例中我們設置了輸入框 input 值value = {this.state.data}。在輸入框值發生變化時我們可以更新 state。我們可以使用onChange 事件來監聽 input 的變化,並修改 state。
React 實例
varHelloMessage = React.createClass({getInitialState: function(){return{value: "Hello Runoob!"}; }, handleChange: function(event){this.setState({value: event.target.value}); }, render: function(){varvalue = this.state.value; return <div>
<inputtype="text"value={value}onChange={this.handleChange} />
<h4>{value}</h4>
</div>; }});ReactDOM.render(
<HelloMessage />, document.getElementById("example"));
上面的代碼將渲染出一個值為 Hello Runoob! 的 input 元素,並通過 onChange 事件響應更新用戶輸入的值。
實例 2
在以下實例中我們將為大家演示如何在子組件上使用表單。 onChange 方法將觸發 state 的更新並將更新的值傳遞到子組件的輸入框的 value 上來重新渲染界面。
你需要在父組件通過創建事件句柄 (handleChange) ,並作為 prop (updateStateProp) 傳遞到你的子組件上。
React 實例
varContent = React.createClass({render: function(){return <div>
<inputtype="text"value={this.props.myDataProp}onChange={this.props.updateStateProp} />
<h4>{this.props.myDataProp}</h4>
</div>; }});varHelloMessage = React.createClass({getInitialState: function(){return{value: "Hello Runoob!"}; }, handleChange: function(event){this.setState({value: event.target.value}); }, render: function(){varvalue = this.state.value; return <div>
<ContentmyDataProp = {value}updateStateProp = {this.handleChange}></Content>
</div>; }});ReactDOM.render(
<HelloMessage />, document.getElementById("example"));
React 事件
以下實例演示通過 onClick 事件來修改數據:
React 實例
varHelloMessage = React.createClass({getInitialState: function(){return{value: "Hello Runoob!"}; }, handleChange: function(event){this.setState({value: "我愛學習})}, render: function(){varvalue = this.state.value; return <div>
<buttononClick={this.handleChange}>點我</button>
<h4>{value}</h4>
</div>; }});ReactDOM.render(
<HelloMessage />, document.getElementById("example"));
嘗試一下 ?
當你需要從子組件中更新父組件的 state 時,你需要在父組件通過創建事件句柄 (handleChange) ,並作為 prop (updateStateProp) 傳遞到你的子組件上。實例如下:
React 實例
varContent = React.createClass({render: function(){return <div>
<buttononClick = {this.props.updateStateProp}>點我</button>
<h4>{this.props.myDataProp}</h4>
</div> }});varHelloMessage = React.createClass({getInitialState: function(){return{value: "Hello Runoob!"}; }, handleChange: function(event){this.setState({value: "菜鳥教程"})}, render: function(){varvalue = this.state.value; return <div>
<ContentmyDataProp = {value}updateStateProp = {this.handleChange}></Content>
</div>; }});ReactDOM.render(
<HelloMessage />, document.getElementById("example"));


※React 組件生命周期
※React 編程JSX
※React 編程
※React 安裝
※React 組件
TAG:程序員小新人學習 |