React 事件 監聽
阿新 • • 發佈:2019-01-27
例項
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 上
元件的資料傳遞