Nautil中使用雙向數(shù)據(jù)綁定的實(shí)現(xiàn)-創(chuàng)新互聯(lián)

雖然是基于 react 的框架,但是在 nautil 中可以使用雙向數(shù)據(jù)綁定,這得益于基于觀察者模式的開(kāi)發(fā)思路。在 react 中使用雙向綁定并非沒(méi)有需求,react 嚴(yán)格的單向數(shù)據(jù)流,嚴(yán)重影響了開(kāi)發(fā)者的發(fā)揮空間,特別是在表單組件的使用中,很容易陷入回調(diào)地獄,即使 redux 也無(wú)法避免。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、渾源網(wǎng)絡(luò)推廣、微信小程序開(kāi)發(fā)、渾源網(wǎng)絡(luò)營(yíng)銷、渾源企業(yè)策劃、渾源品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供渾源建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:muchs.cn

現(xiàn)有狀態(tài)管理的問(wèn)題

我們都知道,react 是單向數(shù)據(jù)流的,數(shù)據(jù)只能從外部通過(guò) props 傳入,再通過(guò) props 上面?zhèn)魅氲幕卣{(diào)函數(shù)再傳出去,直接修改 props 或者上面的對(duì)象,不會(huì)帶來(lái)界面的更新,而且會(huì)導(dǎo)致數(shù)據(jù)不可預(yù)期。

基于這種單向數(shù)據(jù)流的 flux 思想,redux 還遵循了函數(shù)式編程的規(guī)范,保證了數(shù)據(jù)的干凈。同時(shí),它提供了自頂向下的分發(fā)機(jī)制,修改 redux store 中的數(shù)據(jù),會(huì)觸發(fā)所有connected 的組件。而觸發(fā)過(guò)程是,調(diào)用 connected 組件 props.dispatch 方法。

雖然單向數(shù)據(jù)流的方式保證了數(shù)據(jù)流干凈,但 redux 的編程方式太復(fù)雜了。它不僅增加了數(shù)據(jù)構(gòu)造本身的邏輯代碼,而且 action 代碼也是分散的,當(dāng)你需要進(jìn)行修改時(shí),有的時(shí)候會(huì)在好幾個(gè)文件之間轉(zhuǎn)暈。雖然有很多優(yōu)化 redux 樣板代碼的庫(kù),但受限于它的編程思想,仍然不好在項(xiàng)目中節(jié)省更多時(shí)間。

新的思維方式

出于節(jié)省更多時(shí)間成本的目的,我在開(kāi)發(fā) nautil 中沒(méi)有使用 flux 那一套,而是另辟蹊徑,做了很像 mobx 但又更簡(jiǎn)單的事。

我們來(lái)看一下如何在 nautil 中創(chuàng)建一個(gè) store:

import { Store } from 'nautil'
const store = new Store({
 some: 123,
})

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文標(biāo)題:Nautil中使用雙向數(shù)據(jù)綁定的實(shí)現(xiàn)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://muchs.cn/article12/dejegc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、標(biāo)簽優(yōu)化、品牌網(wǎng)站設(shè)計(jì)、小程序開(kāi)發(fā)、手機(jī)網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)