欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談React雙向數(shù)據綁定原理

 更新時間:2021年11月12日 15:16:33   作者:Mrqin-shen  
在 React中是不存在雙向數(shù)據綁定的機制的,需要我們自己對其進行實現(xiàn)。本文主要介紹一下React雙向數(shù)據綁定,感興趣的可以了解一下

如果已經學過Vue,并且深入了解過Vue的雙向數(shù)據綁定的話,就會明白 Vue 2.0 雙向數(shù)據綁定的核心其實是通過Object.defineProperty來實現(xiàn)數(shù)據劫持和監(jiān)聽。

Vue 3.0 中則通過 Proxy來實現(xiàn)對整體對象的監(jiān)聽,對 Vue2.0 的優(yōu)化。

什么是雙向數(shù)據綁定

數(shù)據模型和視圖之間的雙向綁定。

當數(shù)據發(fā)生變化的時候,視圖也就發(fā)生變化,當視圖發(fā)生變化的時候,數(shù)據也會跟著同步變化;可以這樣說用戶在視圖上的修改會自動同步到數(shù)據模型中去,數(shù)據模型也是同樣的變化。

雙向數(shù)據綁定的優(yōu)點:無需和單向數(shù)據綁定那樣進行CRUD(Create,Retrieve,Update,Delete)操作,雙向數(shù)據綁定最常應用在就表單上,這樣當用戶在前端頁面完成輸入后,不用任何操作,我們就已經拿到了用戶輸入好的數(shù)據,并放到數(shù)據模型中了。

實現(xiàn)雙向數(shù)據綁定

但是,在 React中是不存在雙向數(shù)據綁定的機制的,需要我們自己對其進行實現(xiàn)。

數(shù)據影響視圖

這種功能實際上,React 已經幫助我們實現(xiàn)了,使用 setState({ }) 方法修改數(shù)據。
React內部提供的修改方法),不允許通過this.state.屬性名 = 數(shù)據 的方法進行數(shù)據修改。

代碼

import React, { Component } from 'react';
// 引入 antd UI庫
import { Button } from 'antd';  
class Home extends Component {
    constructor(props) {
        super(props);
        this.state = { 
            inputVal:'',
         };
    }   
    setValue=()=>{
        this.setState({
            inputVal:"修改 Value"
        })
    }
    render() {
        return (
            <div className="home" >
                Home組件
                <p> {this.state.inputVal}</p>
                 {/* 使用了 antd UI庫 */}
                <Button type="primary" onClick={this.setValue}>修改數(shù)據</Button>
            </div>
        );
    }
}
export default Home;

效果

在這里插入圖片描述 

視圖影響數(shù)據

通過 React 提供的 onChage 監(jiān)聽事件 實現(xiàn)數(shù)據的動態(tài)錄入
同時,使用 value 或者 defaultValueinput 框中呈現(xiàn)內容
為了方便顯示,這里使用了 p 標簽來顯示內容

代碼

import React, { Component } from 'react';
import { Button } from 'antd'; // antd UI庫
class Home extends Component {
    constructor(props) {
        super(props);
        this.state = { 
            inputVal:'',
         };

    }    
    change = (ev)=>{
        this.setState({
            inputVal:ev.target.value
        })
    }
    render() {
        return (
            <div className="home" >
                Home組件
				<input 
                    onChange={this.change}
                    // value={this.state.inputVal}
                    defaultValue={this.state.inputVal}
                    placeholder="輸入文本內容"
                 />
                <p>&emsp;{this.state.inputVal}</p>
            </div>
        );
    }
}
export default Home;

效果

在這里插入圖片描述 

注意:

使用 value 綁定時,valuedefaultValue 只能使用一個,否則會報警告

到此這篇關于淺談React雙向數(shù)據綁定原理的文章就介紹到這了,更多相關React雙向綁定內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • react-router-domV6版本的路由和嵌套路由寫法詳解

    react-router-domV6版本的路由和嵌套路由寫法詳解

    本文主要介紹了react-router-domV6版本的路由和嵌套路由寫法詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • react-diagram 序列化Json解讀案例分析

    react-diagram 序列化Json解讀案例分析

    今天帶來大家學習react-diagram 序列化Json解讀的相關知識,本文通過多種案例給大家分析序列化知識,通過圖文并茂的形式給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2021-05-05
  • react?hooks中的useState使用要點

    react?hooks中的useState使用要點

    這篇文章主要為大家介紹了react?hooks中的useState使用要點詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 在React框架中實現(xiàn)一些AngularJS中ng指令的例子

    在React框架中實現(xiàn)一些AngularJS中ng指令的例子

    這篇文章主要介紹了在JavaScript的React框架中實現(xiàn)一些AngularJS指令的例子,React使用Virtual DOM因而與普通的js框架有些不同,需要的朋友可以參考下
    2016-03-03
  • 基于PixiJS實現(xiàn)react圖標旋轉動效

    基于PixiJS實現(xiàn)react圖標旋轉動效

    PixiJS是一個開源的基于web的渲染系統(tǒng),為游戲、數(shù)據可視化和其他圖形密集型項目提供了極快的性能,這篇文章主要介紹了用PixiJS實現(xiàn)react圖標旋轉動效,需要的朋友可以參考下
    2022-05-05
  • 詳解React Native頂|底部導航使用小技巧

    詳解React Native頂|底部導航使用小技巧

    本篇文章主要介紹了詳解React Native頂|底部導航使用小技巧 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • react-router browserHistory刷新頁面404問題解決方法

    react-router browserHistory刷新頁面404問題解決方法

    本篇文章主要介紹了react-router browserHistory刷新頁面404問題解決方法,非常具有實用價值,需要的朋友可以參考下
    2017-12-12
  • React中props使用教程

    React中props使用教程

    props是組件(包括函數(shù)組件和class組件)間的內置屬性,用其可以傳遞數(shù)據給子節(jié)點,props用來傳遞參數(shù)。組件實例化過程中,你可以向其中傳遞一個參數(shù),這個參數(shù)會在實例化過程中被引用
    2022-09-09
  • React虛擬列表的實現(xiàn)代碼

    React虛擬列表的實現(xiàn)代碼

    最近看了vueuse的useVirtualList的實現(xiàn)方式,發(fā)現(xiàn)虛擬滾動效果不錯,就嘗試著同樣的寫法改成react版本,虛擬列表主要包含三部分組成,offset,viewcapacity,overscan,本文就給大家介紹一下React虛擬列表的實現(xiàn),需要的朋友可以參考下
    2023-08-08
  • React開啟代理的2種實用方式

    React開啟代理的2種實用方式

    最近有不少伙伴詢問react的代理配置,自己也去試驗了一下發(fā)現(xiàn)不少的問題,在這就將所遇到的心得分享出來,這篇文章主要給大家介紹了關于React開啟代理的2種實用方式的相關資料,需要的朋友可以參考下
    2021-07-07

最新評論