1. 程式人生 > >React 事件 監聽

React 事件 監聽

例項

  var TestComponent= React.createClass({
         getInitialState:function(){
            return {contentValue:''}
         },
         ContentHandler:function(event){
             console.log(event);
             console.log(event.target.value)
             this.setState({contentValue:event.target.value})
         },
         render:function
(){
return ( <div> <ul> <input type="text" ref="textInput" onChange={this.ContentHandler} /> <li>{this.state.contentValue}</li> <li>3</li> </ul> </div> ) } }) var
Comp=React.createClass({ getInitialState:function(){ return { divStyle:{ fontSize:'12px', borderColor:'#0c9', borderStyle:'solid', borderWidth:'2px' }, count:0
, } }, render:function(){ return <div ref="head" style={this.state.divStyle} className="wm-h">{this.props.name} <h1>我就試試{this.props.title}</h1> <button onClick={this.handleClick}>{this.state.count}</button> </div>; }, handleClick:function(event){ var d=this.refs.head; console.log(this.refs.head) d.style.background="#ccc"; this.setState(function(state){ return {count:state.count+1} }) } }); ReactDOM.render(<div> <Comp name="666" title="44944"/> <TestComponent></TestComponent> </div> , document.getElementById('app') );

同過 on + 駝峰事件名( 例如 onClick) 來新增時間繫結

<button onClick={this.handleClick}>{this.state.count}</button>

React .獲取render component 的元件的dom節點:

使用 ref="nodeName";
以  this.refs.nodeName 獲取例項的DOM 節點

input 的資料獲取

  <input type="text" ref="textInput"  onChange={this.ContentHandler} />

input的資料獲取

 ContentHandler:function(event){
             this.setState({contentValue:event.target.value})
         }

監聽change 事件 將資料繫結到 contentValue 上

元件的資料傳遞