摘要:形成一個閉環,所以我們要綁定事件,并且將輸入的值賦值給中對應的鍵。這種模式在中,特別是組件嵌套中經常用到,我更愿意稱之為數據雙向流動數據流動閉環。而非受控組件資源源碼
0x000 概述
這一章講表單處理
0x001 栗子import React from "react" import ReactDom from "react-dom" class App extends React.Component { constructor() { super() this.state = { name: "", sex: "", content: "", formData: "", } } handleSubmit(e) { e.preventDefault() this.setState({ formData: `name=${this.state.name}&sex=${this.state.sex}&content=${this.state.content}` }) } render() { return} } ReactDom.render(填寫表單
預覽
姓名:{this.state.name}性別:{this.state.sex}簡介:{this.state.content}
表單提交
{this.state.formData}
, document.getElementById("app") )
打開瀏覽器查看效果:
如果你只給input綁定了value,會發現無法輸入任何內容,因為在react中,有受控組件的說法,有點不大好理解,直接換種說法比較好,在form表單中我們需要完成數據的雙向綁定。如果你只給input綁定了value,那么state的數據將會被綁定到input上就和你使用{this.state.name}一樣,但是這只是完成了數據到視圖的綁定,我們還好完成視圖到數據的綁定,以完成數據的雙向流動。形成一個閉環,所以我們要綁定onChange事件,并且將input輸入的值賦值給state中對應的鍵。
這種模式在react中,特別是組件嵌套中經常用到,我更愿意稱之為數據雙向流動、數據流動閉環。而非受控組件......
0x003 資源react
源碼
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97178.html
摘要:概述在中,渲染數據的形式有多種多樣,但是萬變不離其中,都是用。當然,自由也帶來混亂,需要將這種自由化為思想的自由,而不是工程的自由代碼的自由,否則將會帶來噩夢。 0x000 概述 在React中,渲染數據的形式有多種多樣,但是萬變不離其中,都是用js。 0x001 渲染文本 // 渲染文本 ReactDom.render( 這是一個文本, document.getEle...
摘要:概述上一章只是稍微了解了一下和相關的簡單用法,這一章需要講一下組件的生命周期。生命周期的概念這玩意似乎很高大上,其實就是一個假概念罷了,直接來實現一個類似的吧。 0x000 概述 上一章只是稍微了解了一下state和setState相關的簡單用法,這一章需要講一下組件的生命周期。 0x001 生命周期的概念 這玩意似乎很高大上,其實就是一個假概念罷了,直接來實現一個類似的吧。大凡事物從...
摘要:概述在中,對象字面量的語法被增強了更短的屬性聲明如果屬性的屬性名和屬性值引用的變量名一致,可以直接省略之前更短的函數聲明如果屬性的屬性名和屬性值函數的函數名一致或者屬性值函數沒有函數名,可以省略關鍵字和屬性名之前可動態計算的屬性名屬性名可以 0x000 概述 在es6中,對象字面量的語法被增強了 0x001 更短的屬性聲明 如果屬性的屬性名和屬性值引用的變量名一致,可以直接省略 let...
摘要:生命周期在版本中引入了機制。以后生命周期圖解不包含官方不建議使用的事件處理事件的命名采用小駝峰式,而不是純小寫。只是在兄弟節點之間必須唯一受控組件使的成為唯一數據源。 react 基礎 JSX JSX是一個 JavaScript 的語法擴展,可以很好地描述 UI 應該呈現出它應有交互的本質形式。 React DOM 在渲染所有輸入內容之前,默認會進行轉義。它可以確保在你的應用中,永遠...
閱讀 3616·2021-11-22 09:34
閱讀 3186·2021-11-15 11:38
閱讀 3039·2021-10-27 14:16
閱讀 1233·2021-10-18 13:35
閱讀 2424·2021-09-30 09:48
閱讀 3429·2021-09-29 09:34
閱讀 1626·2019-08-30 15:54
閱讀 1818·2019-08-26 11:57