摘要:使用使用實現(xiàn)也很簡單上訴的代碼只需要該兩個地方就行了導(dǎo)入修改為這樣就行了使用實現(xiàn)使用實現(xiàn)無法復(fù)用現(xiàn)有的,但是也很簡單聲明兩個綁定事件總結(jié)無資源源碼
0x000 概述
這一章講一些栗子
0x001 原生+redux實現(xiàn)counter
修改模板
React Study 0
修改入口文件
import {createStore} from "redux" // 聲明兩個 action const ACTION_NUM_INCREMENT = "ACTION_NUM_INCREMENT" const ACTION_NUM_DECREMENT = "ACTION_NUM_DECREMENT" // 聲明一個 reducer const counter = (state = 0, action) => { switch (action.type) { case ACTION_NUM_INCREMENT: { return ++state } case ACTION_NUM_DECREMENT: { return --state } default : { return state } } } let store = createStore(counter) // 設(shè)置監(jiān)聽, 當(dāng) reducer 發(fā)生改變的時候獲取新的 counter, 并更新界面 store.subscribe(() => { document.getElementById("counter").innerText = store.getState() }) // 綁定事件 document.getElementById("btnAdd").addEventListener("click", () => { store.dispatch({type: ACTION_NUM_INCREMENT}) }) document.getElementById("btnSub").addEventListener("click", () => { store.dispatch({type: ACTION_NUM_DECREMENT}) })
查看瀏覽器
說明:dispatch其實就是發(fā)出一個請求,比如store.dispatch({type: ACTION_NUM_INCREMENT})發(fā)出的其實是一個增加的請求,當(dāng)然這個只是一個名字而已,如何處理還看我們自己,是一個簡單的js對象,我們發(fā)出這個請求以后,reducer將會受到這個請求,counter中的action對象其實就是你發(fā)出的這個東西,經(jīng)過switch處理以后,將會吧reducer返回值作為新的state保存起來,并通知訂閱了store的地方--subscribe的回調(diào)函數(shù)將會執(zhí)行。
0x002 使用ledux使用ledux實現(xiàn)也很簡單上訴的代碼只需要該兩個地方就行了
導(dǎo)入Ledux
import Ledux from "../../0x101-hello-redux/src/ledux";
修改createStore為Ledux.createStore
//redux // let store = createStore(counter) //ledux let store = Ledux.createStore(counter)
這樣就行了
0x003 使用MyEvent實現(xiàn)使用MyEvent實現(xiàn)無法復(fù)用現(xiàn)有的,但是也很簡單
import MyEvent from "../../0x012-component-communication/src/MyEvent"; // 聲明兩個 action const ACTION_NUM_INCREMENT = "ACTION_NUM_INCREMENT" const ACTION_NUM_DECREMENT = "ACTION_NUM_DECREMENT" let counter = 0 MyEvent.sub(ACTION_NUM_INCREMENT, () => { document.getElementById("counter").innerText = counter }) MyEvent.sub(ACTION_NUM_DECREMENT, () => { document.getElementById("counter").innerText = counter }) // 綁定事件 document.getElementById("btnAdd").addEventListener("click", () => { ++counter MyEvent.pub(ACTION_NUM_INCREMENT) }) document.getElementById("btnSub").addEventListener("click", () => { --counter MyEvent.pub(ACTION_NUM_DECREMENT) })0x004 總結(jié)
無
0x005 資源源碼
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/97340.html
摘要:的全稱是統(tǒng)一資源定位符英文,可以這么說,是一種標(biāo)準(zhǔn),而網(wǎng)址則是符合標(biāo)準(zhǔn)的一種實現(xiàn)而已。渲染器,將組件渲染到頁面上。 0x000 概述 從這一章開始就進(jìn)入路由章節(jié)了,并不直接從如何使用react-route來講,而是從路由的概念和實現(xiàn)來講,達(dá)到知道路由的本質(zhì),而不是只知道如何使用react-route庫的目的,畢竟react-route只是一個庫,是路由的一個實現(xiàn)而已,而不是路由本身。 ...
摘要:概述之前寫的所有關(guān)于的文章都是純粹的,是和框架無關(guān)環(huán)境無關(guān)的,所以我沒有將和一起講,為的是吧和分開,作為獨立的個體來分析,提現(xiàn)的是一種思想,而不是一個思維定式。而現(xiàn)在我們可以嘗試在中來使用了。 0x000 概述 之前寫的所有關(guān)于redux的文章都是純粹的redux,是和框架無關(guān)、環(huán)境無關(guān)的redux,所以我沒有將redux和react一起講,為的是吧redux和react分開,作為獨立...
摘要:這里的其實不需要自己寫,已經(jīng)有好的實現(xiàn)了引入修改組件完整源碼組件資源源碼 0x000 概述 前面雖然簡單的講了如何在react中集成redux,但是那只是簡單的講講而已,這一章將會仔細(xì)講講如何在react中使用reudx 0x001 問題分析 查看前邊的栗子: import {createStore} from redux import React from react import ...
摘要:就為我?guī)砹艘环N應(yīng)用狀態(tài)管理的新思想,其間充斥著許多個概念,等,乍一看頭大,等到仔細(xì)理解了它的思想,或許就很簡單了,也是其中一種。 0x000 概述 寫長文章有點累啊,偶爾寫點短的文章吧 0x001 概念 其實很多框架在技術(shù)上沒有太大的難度,真正難的是思想,思想的突破遠(yuǎn)遠(yuǎn)比技術(shù)突破難多了。redux就為我?guī)砹艘环N應(yīng)用狀態(tài)管理的新思想,其間充斥著許多個概念,state、reduce等,...
摘要:在我看來它們的關(guān)系不會比共用開頭更深了,所以我就重新開了一個頭,但其實是基于前面寫的資源中文文檔英文文檔官方視頻學(xué)習(xí)歷程當(dāng)初為了學(xué)習(xí),看了許多的材料,中途曾經(jīng)放棄兩次,但是最后還是勇敢的拿起了它,現(xiàn)在終于勉強弄懂。 0x000 概述 這一章開始講redux,其實是承接前面的react,但其實作為一個框架來說,redux和react并沒有太多的關(guān)系,本身是獨立存在的。在我看來它們的關(guān)系不...
閱讀 3681·2021-10-09 09:41
閱讀 2833·2021-10-08 10:18
閱讀 2284·2021-09-10 10:51
閱讀 2768·2021-09-10 10:50
閱讀 957·2021-09-09 09:33
閱讀 3503·2021-09-06 15:14
閱讀 3166·2019-08-30 11:06
閱讀 3361·2019-08-29 14:04