美文网首页Web前端之路让前端飞
Redux学习笔记-Vol.1-介绍

Redux学习笔记-Vol.1-介绍

作者: kyrieliu | 来源:发表于2016-12-30 15:35 被阅读17次

动机

背景: 单页应用,js需要管理很多state
两个概念: 变化和异步
和React相结合: React在视图层禁止异步并直接操作DOM,Redux处理state中的数据。
目的: Redux试图让state变化的可预测

三大原则

单一数据源

注意理解:整个应用的state被储存在一棵object tree中,并且这个object tree只存在于唯一一个store中。

State是只读的

唯一改变state的方法就是触发action,action是一个用于描述已发生事件的普通对象。

store.dispatch({
    type: 'ADD_ITEM',//规定一个action对象中必须有的type属性
    index: 1
});

使用纯函数来执行修改

为了描述action如何改变state tree,需要编写reducers
什么是reducers?

纯函数,形如:(state, action) => state

随着应用的变大,注意将一个大的reducer拆分为多个小的reducers,分别独立操作state tree的不同部分。

//reducer 1
function visibilityFilter(state = 'SHOW_ALL', action){
    switch (action.type){
        case 'SET_VISIBILITY_FILTER':
            return action.filter;
        default://一定要有!不然会造成返回undefined的情况
            return state;
    }
}

//reducer 2
function todos(action = [], action){
    switch (action.type){
        case 'ADD_TODO':
            return [
                ...state,//ES6大法好!
                {
                    text: action.text,
                    complete: false
                }
            ];
        case 'COMPLETE_TODO':
            return state.map((todo, index) => {
                if (index == action.index){
                    return Object.assign({}, todo, {
                        complete: true
                    });
                }
                return todo;
            });
        default:
            return state;
    }
}

import { combineReducers, createStore } from 'redux';
let reducer = combineReducers({ visbilityFilter, todos });
let store = createStore(reducer);
Redux学习笔记-Vol.1-介绍

相关文章

  • Redux学习笔记-Vol.1-介绍

    动机 背景: 单页应用,js需要管理很多state。两个概念: 变化和异步和React相结合: React在视图层...

  • Redux 笔记一:简单串讲

    Redux 笔记一:简单串讲 React 笔记一:简单串讲 Redux 笔记一:简单串讲 介绍 Redux并不是R...

  • 详解react、redux、react-redux之间的关系

    本文介绍了react、redux、react-redux之间的关系,分享给大家,也给自己留个笔记,具体如下: Re...

  • 详解react、redux、react-redux之间的关系

    本文介绍了react、redux、react-redux之间的关系,分享给大家,也给自己留个笔记,具体如下: Re...

  • React-Redux总结1-基础

    在学习react-redux之前我们需要对redux有个大概的了解,后面的文章会介绍redux的中间件和redux...

  • Redux-saga

    Redux-saga学习笔记说到中间件Redux-saga之前不得不提一下Redux-thunk(详细请访问:ht...

  • Redux使用篇

    前言 学习redux首先要知道redux是什么。官网介绍的redux是js状态容器。黑人问号脸??? 在我的理解中...

  • React-Native爬坑中(Redux)

    介绍一下我在之前项目中是如何使用redux的。 redux学习:http://www.ruanyifeng.com...

  • redux 及 react-redux 的基本使用

    本文介绍 redux 的基本使用,介绍 redux 的流程。以及 react-redux 的基本使用 一、redu...

  • Redux 学习笔记

    把redux添加到项目的步骤 index.js 部分 创建store跟reducer 用 包起整个App inde...

网友评论

    本文标题:Redux学习笔记-Vol.1-介绍

    本文链接:https://www.haomeiwen.com/subject/uimmvttx.html