React

Redux 概要

November 28, 2018
React
api

参考:Redux 入门教程 基本概念 # store:保存数据的容器,整个应用通常只有一个store。 state:store在某时点的一个快照,一个state对应一个view。 action:定义一个用户对view的操作。 可以暂时这样理解: store生成一个快照state,state对应一个view,view发出action来通知store变化,使store变化而生成一个新的state,新的state又对应新的view。 ActionCreator:通常action只是一个对象,且只有type属性使必须的。我们知道action代表着view的操作,所以action可能有很多个又被经常使用,所以用一个函数来生成各种action是比较合理的操作,这个函数就叫做ActionCreator。 const ADD_TODO = '添加 TODO'; function addTodo(text) { return { type: ADD_TODO, text } } const action = addTodo('Learn Redux'); Redux的API # 生成store、获得state import { createStore } from 'redux'; const store = createStore(fn); const state = store.getState(); view通过store.dispatch() 发出action: store.dispatch({ type: 'ADD_TODO', payload: 'Learn Redux' }); // store.dispatch(addTodo('learn Redux')); store在接收到action时,会根据action生成一个新的state,那么如何生成新的state,这个计算过程怎么定义呢? Reducer # Reducer是一个函数,它定义store在接收到action时state如何发生变化。action只描述发生了什么,而reducer描述state如何变化。这个函数是这样的: const reducer = function (state, action) { // . ...