美文网首页
04、react配置redux全局状态

04、react配置redux全局状态

作者: 蜗牛的学习方法 | 来源:发表于2020-02-24 19:12 被阅读0次

首先全局状态有几部分组成
1、store--全局状态容器,整个应用的数据存储中心
2、action--view 层与data层的过渡
3、reducer--接收action并更新Store,所有的函数处理处理都在reducer里面执行,reducer返回新的state,更新界面
一个redux的更新流程就是这样的,说的不对请大家指正!!

按照上面的流程来配置项目

1、首先下载插件

yarn add redux react-redux

2、项目下面创建store文件夹里面分别新建 index.js、action.js、actionType.js、reducer.js
index.js代码


/*combineReducers 合并多个store,便于管理
*applyMiddleware
*createStore创建store
*/
import {createStore,combineReducers,applyMiddleware} from 'redux'
import immutable from 'redux-immutable-state-invariant'
//安装redux-devtools-extension的可视化工具
import { composeWithDevTools } from 'redux-devtools-extension'
//引入异步中间件
import thunkMiddleware from 'redux-thunk'

import index from './reducer';

const reducer = combineReducers({
  home:index
})

const middlewares = [thunkMiddleware];
if (process.env.NODE_ENV !== 'production') {
    middlewares.push(immutable())
}

const storeEnhancers = process.env.NODE_ENV !== 'production' ?
    composeWithDevTools(
        applyMiddleware(...middlewares),
    ) :
    applyMiddleware(...middlewares);


const store = createStore(reducer,{},storeEnhancers)
export default store;

actionType.js

export const SAVEUSERINFO = 'SAVEUSERINFO';

action.js

import {SAVEUSERINFO} from './actionTypes'

export const saveUserInfo = (value) => ({
    type: SAVEUSERINFO,
    value: value
});

reducer.js

const defaultState = {
  userInfo: {token: ''}
}
//reducer 可以接受state但是不可以修改state 只有store才能改变
//纯函数指得是,制定固定的输入,就一定会有固定的输出,而且不会有任何副作用
export default (state = defaultState, action) => {
  switch (action.type) {
    case "SAVEUSERINFO":
      return {
        ...state,userInfo:action.value
      }
    default:
      break
  }
  return state
}

相关文章

  • 04、react配置redux全局状态

    首先全局状态有几部分组成1、store--全局状态容器,整个应用的数据存储中心2、action--view 层与d...

  • react-redux

    redux 全局状态管理 react-redux 优化模块 优化redux的使用过程 通过react-redux ...

  • Redux配置文件

    配置: redux 是可预测状态容器,react-redux 是让 react 和 redux 结合工作的粘合剂,...

  • Redux 笔记(简记)

    Redux React: state ==> DOMRedux: Store管理全局状态 ==> 让组件通信更加容...

  • react native架构系列(持续更新中)

    1、使用redux、react-redux、redux-thunk做全局状态管理 redux三大原则单一数据源:整...

  • Redux 分析

    Redux的核心本质就是一个发布订阅模式。 Redux运用于React框架中,是一个全局状态管理器。Redux解决...

  • 两张图看懂 React Redux 架构和数据流

    React 技术栈 React - 视图层Redux - 状态、数据层React-Redux - 连接Redux-...

  • React通过redux-persist持久化数据存储

    在React项目中,我们经常会通过redux以及react-redux来存储和管理全局数据。但是通过redux存储...

  • vuex的使用

    在react中有redux进行全局状态管理,那么在vue中自然也有自己的状态管理插件vuex。vue相较于reac...

  • 从零创建React项目

    根据下面的文档创建的react项目可参考 初始化项目 配置路由 数据请求 状态管理redux 注:redux默认只...

网友评论

      本文标题:04、react配置redux全局状态

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