redux
素燃
忙里偷闲,发现有意思的东i就写点
展开
-
第一次使用react-native后的总结
撸完react-native的感受 关于RN的介绍就不多说了,已经好几年了,如今RN的生态圈也已经很成熟了,基本配套的UI和插件,95%都能找到,如果你有react的基础,1-2天内上手是没有问题的,如果你没有接触过react,可能需要几天时间适应它的写法,除了对于前端开发的来说,配置安卓开发环境麻烦点,可能一部分小伙伴,因为这个配置环境问题就放弃了,window系统有点麻烦,mac系统1小时左...原创 2019-02-18 17:00:36 · 3319 阅读 · 0 评论 -
redux8 - redux 中间件 和 applyMiddleware 及其实现原理
参考redux仓库, redux-logger库 新建个项目吧 - 引入 redux, react-redux 中间件执行流程图 演示代码仓库 就这个演示了,点击 + 1 ,现在呢, 我想打印个日志,就是每次点击按钮,都能打印出老的状态和新的状态 理逻辑,既然是在每次点击事件之后打印,那么,如果想拿到老的状态,就需要在派发前,想拿到新的状态,就是在派发后 先这样写: let store = createStore(reducers); let dispatch = store.dispatc原创 2020-06-02 18:11:46 · 260 阅读 · 0 评论 -
redux4 - 处理有多个 reducer时如何合并,以及实现 combineReducers
参考源码redux仓库 redux原则之一就是单一性,即状态,仓库,reducer都是唯一的,但在组件式的技术开发中,为了好管理状态,通常一个组件,或嵌套组件对应一个 reducer, 最后再合并成一个大的reducer 代码太多,请参考演示代码 代码演示两个组件的都有各自的组件状态,怎么进行合并 可能有不明白,左边这个index.js 这个文件的 count1Reducer和count2Reducer的第一个参数为啥是那样写的 解释一下: 看右边的 count1Reducer() 函数,第一个参数原创 2020-06-01 16:04:50 · 1126 阅读 · 0 评论 -
redux1 - 20行代码实现redux
准备工作 首先建一个React的脚手架项目, 删除src下的所有东西,保留一个空的 index.js 当前目录 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <t原创 2020-05-27 16:45:39 · 347 阅读 · 0 评论 -
redux3 - 通过提交函数派发action及 手写 实现 bindActionCreators 函数
dispatch 即可以是提交一个对象的语法, 还可以提交一个函数的写法 直接通过提交函数派发动作 import React, { Component } from 'react'; import ReactDOM from 'react-dom'; import { createStore, bindActionCreators } from './redux'; let initData = { num: 10, }; // type 类型 const ADD = 'ADD'; cons.原创 2020-06-01 12:50:58 · 263 阅读 · 0 评论 -
redux2 - 原生html页面和react中使用自己手写的 - redux
原生html页面中 redux.js // 创建仓库 function createStore(reducer) { let currData; let listeners = []; const getState = () => currData; const dispatch = (action) => { currData = reducer(currData, action); listeners.forEach((fn) => fn()); }原创 2020-06-01 10:38:23 · 290 阅读 · 0 评论