我看到很多朋友说 redux 很难,不容易理解。可能在初学者中,上手确实很有难度,毕竟官网说的太专业,
再加上es6,对初学者看懂更是有难度,刚看了者函数,在看下一个,不知道这个函数为什么这样写,有去
找哪个函数是什么意思,在回来,又不知看到什么地方来。就这样一去一回,全都忘记了,能明白的都明白不了!!
在此,我觉得redux 就三个特性,
第一个:应该是一个常量(在小系统可以直接写在action中)文件
第二个:是action.js 文件
第三个:是reducers.js 文件
对于这三个文件我是这样理解的
第一个就是常量文件就是一个名称, 就想人的名字一样,
第二个是 常量能够以啥子身份去做什么事情,就是action,一个人干一件事情。
第三个 。其实就是一个检验每个人 ,啥子人做啥子事情,职责的划分!物以类聚
我们来一个列子来解释
第一个文件,
type.js 中有一个 GET_TOKEN 这个名字
export const GET_TOKEN='GET_TOKEN';
第二个文件
action.js
import { GET_TOKEN } from './type';
//这里是获取数据来源 ,我们吧这个数据分给GET_TOKEN这个人,dispatch后,这个GET_TOKEN 人,身上都有这个数据源了,
export const userLoginAction = (postData) => async (dispatch) => {
let res = await http.artUserLoginService(postData)
// if (res.success === '1') {
dispatch({
type: GET_TOKEN,
payload: res
})
// }
}
第三个文件
reducer.js
import {GET_TOKEN } from './type'
//初始化这个reducer下的一个数据结构
const initialState = {
token:'',
user: {}
}
//这个了就是划分职责的地方 ,什么人去做什么事情,把身上携带的数据流传下去
export default function(state=initialState, action) {
switch (action.type) {
case GET_TOKEN:
return {
...state,
token:action.payload
}
default:
return state;
}
}
我不知道这样讲能否看的懂!文笔有限,勿喷!