redux


  • 使用 redux-thunk、 redux-saga、 redux-observable、 MobX制作同样的一个小项目:

    data flow demo

    这个项目调用github API查找 github 用户,点击头像之后还可以知道这个用户的 follower 和 following。简单来说,就是调用了三次 API(即三次异步请求)。


    目录

    • redux-thunk
    • redux-saga
    • redux-observable
    • mobx

    本文不是教程,并不会手把手地教你如何使用他们,只是一个指引,一份示例,让你能够了解他们各自的特点,以便选择最适合自己的。


    redux-thunk

    code

    redux-t

  • 在 2017 年学习 React + Redux 的一些建议(中篇)

    作者:郭永峰,用友网络公共前端团队负责人
    本次系列文章分为上中下三篇,《在 2017 年学习 React + Redux 的一些建议(上篇)》 和 《在 2017 年学习 React + Redux 的一些建议(下篇)》 可点击阅读。
    原创文章,版权所有,转载请注明出处。

    对于学习 Redux 的一些建议

    React 和 Redux 经常结合在一起使用,Redux 是 flux 架构模式的一种优秀实现,并且在 React 社区被广泛使用,但也不是完全和 React 耦合在一起的。

    全局 state

    并不是所有的全局st

  • dva 初探

    前言: 最近正在学习 dva ,整理出一些学习笔记,笔者默认阅读此文的读者有一定的react , redux , redux-saga 基础,如果没有,可先自行了解这些技术,本文不再赘述。

    什么是 dva

    dva是基于现有应用框架(redux+react-router+redux-saga等)封装的一个框架(不是库),基本上没有引入新概念,也没有创建新语法,对于熟悉前言中涉及的技术栈的童鞋来说会非常容易上手。详细介绍可移步dva介绍

    为什么会有 dva

    在处理复杂异步请求的业务中,一开始我们是使用 redux-thunk + async/await 结合使用,比如在异步登录的

  • redux-saga 是一个管理 Redux 应用异步操作的中间件,功能类似redux-thunk + async/await, 它通过创建 Sagas 将所有的异步操作逻辑存放在一个地方进行集中处理。

    redux-saga 的 effects

    redux-saga中的 Effects 是一个纯文本 JavaScript 对象,包含一些将被 saga middleware 执行的指令。这些指令所执行的操作包括如下三种:

    • 发起一个异步调用(如发一起一个 Ajax 请求)
    • 发起其他的 action 从而更新 Store
    • 调用其他的 Sagas

    Effects 中包含的指令有很多,具体可以异

  • 手写redux

    首先需要讲一些概念。

    • 纯函数

    一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。
    特点:

    1. 函数的返回结果只依赖于它的参数。
    2. 函数执行过程里面没有副作用。
    • React.js 特性 —— context

    组件间 共享状态 属性
    只能传入子组件
    父组件不能读取该属性

    • 高阶组件

    高阶组件是一个函数(而不是组件),它接受一个组件作为参数,返回一个新的组件

    • 共享结构的对象

    就是类似把 obj 所有的属性都复制到 obj2 里面,相当于对象的浅复制,obj 里面的内容和 obj2 是完全一样的,但是却是两个不同的对