您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)react子組件如何向父組件傳值的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
react中,在父組件中設(shè)定state的初始值以及處理該state的函數(shù),同時(shí)將函數(shù)名通過(guò)以props屬性值的形式傳入子組件,子組件通過(guò)調(diào)用父組件的函數(shù),進(jìn)而引起state變化,達(dá)到在父組件中展示子組件產(chǎn)生的變化。
子組件需要控制自己的 state, 然后告訴父組件自己的state,通過(guò)props調(diào)用父組件中用來(lái)控制state的函數(shù),在父組件中展示子組件的state變化。
/***實(shí)現(xiàn)在輸入框輸入郵箱時(shí),在p中即時(shí)顯示輸入內(nèi)容***/ <body> <p id="test"></p> </body> //子組件 var Child = React.createClass({ render: function(){ return ( <p> 郵箱:<input onChange={this.props.handleEmail}/> </p> ) } }); //父組件 var Parent = React.createClass({ getInitialState: function(){ return { email: '' } }, handleEmail: function(event){ this.setState({email: event.target.value}); }, render: function(){ return ( <p> <p>郵箱:{this.state.email}</p> <Child name="email" handleEmail={this.handleEmail.bind(this)}/> </p> ) } }); React.render( <Parent />, document.getElementById('test') );
原理:
依賴 props 來(lái)傳遞事件的引用,并通過(guò)回調(diào)的方式來(lái)實(shí)現(xiàn)的,這樣實(shí)現(xiàn)不是特別好,但在沒(méi)有任何工具的情況下是一種簡(jiǎn)單的實(shí)現(xiàn)方式。
分析:
React中當(dāng)state發(fā)生改變時(shí),組件才會(huì)update。在父組件中設(shè)定state的初始值以及處理該state的函數(shù),同時(shí)將函數(shù)名通過(guò)以props屬性值的形式傳入子組件,子組件通過(guò)調(diào)用父組件的函數(shù),進(jìn)而引起state變化,達(dá)到在父組件中展示子組件產(chǎn)生的變化。
感謝各位的閱讀!關(guān)于react子組件如何向父組件傳值就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。