本篇文章給大家分享的是有關(guān)使用react怎么實(shí)現(xiàn)組件傳值,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
為上蔡等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及上蔡網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、上蔡網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!父組件向子組件傳值(通過props傳值)
子組件:
class Children extends Component{ constructor(props){ super(props); } render(){ return( <div>這是:{this.props.name}</div> // 這是 父向子 ) } }
父組件:
class App extends React.Component{ render(){ return( <div> <Children name="父向子"/> </div> ) } }
父組件向子組件傳值(回調(diào)函數(shù))
子組件
class Children extends Component{ constructor(props){ super(props); } handerClick(){ this.props.changeColor('skyblue') // 執(zhí)行父組件的changeColor 并傳參 必須和父組件中的函數(shù)一模一樣 } render(){ return( <div> <div>父組件的背景色{this.props.bgcolor}</div> // 子組件接收父組件傳過來的值 bgcolor <button onClick={(e)=>{this.handerClick(e)}}>改變父組件背景</button> // 子組件執(zhí)行函數(shù) </div> ) } }
父組件
class Father extends Component{ constructor(props){ super(props) this.state = { bgcolor:'pink' } } bgChange(color){ this.setState({ bgcolor:color }) } render(props){ <div style={{background:this.state.bgcolor}}> // 給子組件傳遞的值 color <Children bgcolor={this.state.bgcolor} changeColor={(color)=>{this.bgChange(color)}} /> // changeColor 子組件的參數(shù)=color 當(dāng)做形參 </div> } }
兄弟組件傳值(子傳給父,父再傳給另一個(gè)子)
子組件1
class Children1 extends Component{ constructor(props){ super(props); } handerClick(){ this.props.changeChild2Color('skyblue') // 改變兄弟組件的顏色 把changeChild2Color的參數(shù)傳給父 } render(){ return( <div> <div>children1</div> <button onClick={(e)=>{this.handerClick(e)}}>改變children2背景</button> </div> ) } }
子組件2
class Children2 extends Component{ constructor(props){ super(props); } render(){ return( <div style={{background:this.props.bgcolor}}> // 從父元素獲取自己的背景色 <div>children2 背景色 {this.props.bgcolor}</div> // children2 背景色 skyblue </div> ) } }
父組件
class Father extends Component{ constructor(props){ super(props) this.state = { child2bgcolor:'pink' } } onchild2bgChange(color){ this.setState({ child2bgcolor:color }) } render(props){ <div> <Children1 changeChild2Color={(color)=>{this.onchild2bgChange(color)}} /> <Children2 bgcolor={this.state.child2bgcolor} /> </div> } }
以上就是使用react怎么實(shí)現(xiàn)組件傳值,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
標(biāo)題名稱:使用react怎么實(shí)現(xiàn)組件傳值-創(chuàng)新互聯(lián)
當(dāng)前地址:http://aaarwkj.com/article12/cogggc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、搜索引擎優(yōu)化、服務(wù)器托管、Google、網(wǎng)站制作、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容