在React中實現資料的雙向繫結

2021-10-02 21:36:35 字數 1505 閱讀 9187

建立乙個.jsx檔案

import react from

'react'

export

default

class

myinput

extends

react.component

}render()

} value=

/>

<

/div>

}}

匯入.jsx檔案,並渲染到頁面上

import react from

'react'

import reactdom from

'react-dom'

import myinput from

'.jsx檔案路徑'

reactdom.

render

(<

/myinput>

<

/div>

,document.

getelementbyid()

)

這時,this.state.msg只是單向的從myinput元件例項的this.state渲染到頁面中,頁面中不能進行修改

通過箭頭函式的引數獲取資料

.jsx檔案

import react from

'react'

export

default

class

myinput

extends

react.component

}render()

} value=

onchange=

/>

<

/div>

}inputchange

(e))

}}

箭頭函式的引數是乙個event,是觸發這個函式的元素,而我們想得到的標籤就在這個元素下的target中

2. 通過ref獲取資料

.jsx檔案

import react from

'react'

export

default

class

myinput

extends

react.component

}render()

} value=

onchange=

ref=

"txt"

/>

<

/div>

}inputchange

(e))

}

加了ref的元素,相當於加了乙個id,react內部有乙個refs物件存放了這些加了ref的元素的指向

總結

react會自動的做從例項中的資料向頁面中進行渲染,但不會將頁面中的資料的修改同步到例項的資料中,想要實現資料的雙向繫結,就需要我們來做從頁面到例項中的資料這個方向的處理。還是vue方便

1120 MVVM框架是如何實現雙向資料繫結剖析。

思路 1.model影響檢視 編譯時註冊watcher,在註冊watcher,呼叫get,通過observer資料劫持get方法,將多個觀察者統一管理起來。當改變資料時,呼叫set方法,將收攏的對應觀察者的upadte方法更新。2.檢視影響model 編譯時註冊wather,node節點繫結對應的事...

react 表單 雙向繫結的實現

在 react 開發中,經常遇到 input 輸入框改變值的時候,要定義乙個函式,該函式內部執行 setstate 的操作,才能改變 input 的值。如果表單元素多了以後,就會定義很多的這種函式,使 變得冗餘。下面在 react 中實現乙個類似於 vue 的表單雙向繫結的邏輯。this state...

react如何實現乙個基本的資料雙向繫結

首先react本身並不像vue一樣具有雙向資料繫結這個概念,react只是mv,也就是資料層可以影響檢視層,那麼如果想要用react實現雙向資料繫結應該怎麼去實現呢?首先定義乙個子元件 import react,from react 引入react class todolist extends co...