本文小編為大家詳細(xì)介紹“react中受控組件指的是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“react中受控組件指的是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
在樂至等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、成都網(wǎng)站制作 網(wǎng)站設(shè)計制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)整合營銷推廣,外貿(mào)網(wǎng)站制作,樂至網(wǎng)站建設(shè)費用合理。
在react中,受控組件是用state來獲取和設(shè)置輸入元素值的組件;也可以理解為渲染表單的React組件還控制著用戶輸入過程中表單發(fā)生的操作,被React以這種方式控制取值的表單輸入元素就叫做受控組件。
本教程操作環(huán)境:Windows10系統(tǒng)、react17.0.1版、Dell G3電腦。
React官網(wǎng)中對于受控組件是這樣解釋的: 渲染表單的 React 組件還控制著用戶輸入過程中表單發(fā)生的操作。被 React 以這種方式控制取值的表單輸入元素就叫做“受控組件”。
用state來獲取和設(shè)置輸入元素值的組件,稱之為受控組件。<input type="text">, <textarea> 和 <select> 等標(biāo)簽都可用 value 屬性,來實現(xiàn)受控組件。
有網(wǎng)友這樣解釋:在React中,每當(dāng)表單的狀態(tài)發(fā)生變化時,都會被寫入到組件的state中,這種組件在React被稱為受控組件。
受控組件的更新流程:
1,可以通過在初始state中設(shè)置表單的默認(rèn)值
2,每當(dāng)表單的值發(fā)生變化時,調(diào)用onChange事件處理器,
3,事件處理器通過事件對象e拿到改變后的狀態(tài),改變state;
4,setState觸發(fā)視圖更新,完成表單組件值的更新
示例:input
- 阻止表單提交
class NameForm extends React.Component { constructor(props) { super(props); this.state = { value: '' }; this.handleChange = this.handleChange.bind(this); this.handleSubmit = this.handleSubmit.bind(this); } handleChange(event) { this.setState({ value: event.target.value }); } handleSubmit(event) { alert('提交的名字: ' + this.state.value); event.preventDefault(); } render() { return ( <form onSubmit={this.handleSubmit}> <label> 名字: <input type="text" value={this.state.value} onChange={this.handleChange} /> </label> <input type="submit" value="提交" /> </form> ); } }
- file類型input
// file類型的input,屬性value是只讀的,所以是非受控組件 <input type="file" />
讀到這里,這篇“react中受控組件指的是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享題目:react中受控組件指的是什么
轉(zhuǎn)載源于:http://jinyejixie.com/article40/gdpceo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、搜索引擎優(yōu)化、營銷型網(wǎng)站建設(shè)、軟件開發(fā)、網(wǎng)站制作、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)