最近寫博客寫的有點蒙圈了,甚至在懷疑自己應不應該寫下去,看看網上大神寫的博客,簡直了。。。!昨天給自己放了一天假,雖然離職找工作之中,也在自我督促自己學習一下!我基本寫的都是最基本的內容!
好了,不多說了!繼續更新!
1、React支持一種非常特殊的屬性ref,你可以用來綁定到render()上,輸出的任何組件上!
2、通過一個小demo練習來解析!我們要實現一個簡單的功能,點擊按鈕,實現求和!
<div id="container"></div>
<script type="text/babel">
var Add = React.createClass({
handleClick:function () {
//通過原生DOM的API獲取input的value值
var num1 = parseInt(this.refs.input1.value);
var num2 = parseInt(this.refs.input2.value);
console.log(num1+num2)
},
render:function () {
//當組件插入到DOM后,ref 屬性添加一個組件的引用於到 this.refs
return <div>
<input ref="input1" placeholder="input number"/>
<br/>
<input ref="input2" placeholder="input number"/>
<br/>
<button onClick={this.handleClick}>Click me!</button>
</div>
}
})
ReactDOM.render(
<Add/>,
document.getElementById('container')
)
</script>
首先:我們創建一個組件,返回一個div,div中放置二個input,同時設置ref屬性
然后:定義一個handleClick方法,拿到input里面的值,通過控制台打印出二數之和!
最后:在button定義onClick事件!
注意:this.refs.[refName]獲取真實的DOM,必須等到虛擬DOM插入文檔之后,才能使用這個屬性,否則是會報錯的!!
在定義ref時是單數,在調用時是復數!