美文网首页
redux 学习

redux 学习

作者: 枫雪孤城 | 来源:发表于2018-12-01 12:22 被阅读7次

    参考阮一峰大大的文章,写的非常通俗易懂,我的偶像。
    总结一下。

    1. Store是保存数据的地方,整个应用只能有一个Store。Redux提供createStore这个函数,用来生成Store。
      import { createStore } from 'redux';
      const store = createStore(fn);

    2. 某个时间点的数据,叫State。Store可以通过 .getState() 拿到
      const state = store.getState();

    Redux规定,一个State对应一个View。只要State相同,View就相同。知道State,就知道View长什么样,反之亦然。

    1. 如果用户操作意欲使View发生变化,View向State发出信息,告诉State要怎么改变,这个信息就叫Action。
      规定Action必须是一个对象,其中必须要有一个type属性,表示Action的名称。其他属性可以自由设置。社区有一个规范可以参考。

    const action = {
    type: 'ADD_TODO',
    payload: 'Learn Redux'
    };

    3.1 同一个type肯定会有不同的payload,所以可以写一个函数来生成Action,这样就不用每次还得把type写一遍,

    const ADD_TODO = '添加 TODO';
    function addToDo(text) {
    return {
    type: ADD_TODO,
    text
    }
    }

    const action = addToDo('Learn Redux'); //这个函数可以叫做 Action Creator

    1. 好,我们已经生成Action了,接下来要把它发给Store,规定,要用Redux给我们提供的store.dispatch()方法发送。
      store.dispatch(action); // 当然也可以把Action直接写成对象或者Action Creator的形式

    2. Store接收到Action之后,必须给出一个新的State,这样View才会发送变化,改变State的函数我们可以给它起个名字叫Reducer。Reducer在这里是还原剂的意思。这个函数当然是把State和Action当做参数,返回一个新State。
      const reducer = function (state, action) {
      // ...
      return new_state;
      }

    相关文章

      网友评论

          本文标题:redux 学习

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