React 中 redux 详解

本文详细介绍了Redux的概念、安装、使用原因以及其核心概念,包括state对象、纯函数、action对象和Store对象。阐述了Redux的三大原则:单一数据源、状态只读和使用纯函数修改状态。还讨论了Redux的基本使用、redux-dispatch的dispatch方法以及redux-combineReducers的原理和作用。
摘要由CSDN通过智能技术生成

在这里插入图片描述

一、Redux

1.Redux 是什么?

Redux 是一个独立的JavaScript 状态管理库, 非React内容之一,提供可预测化的状态管理。它只有2kb,在开发大型项目处理数据流基本上都用到了Redux。

Redux 官方文档 : https://www.redux.org.cn/

2.安装

npm i redux

3.为什么使用 Redux ?

Redux 本身是 MVVM渐进式框架 M(数据模型) - V(视图) - VM(虚拟模型)
react 的 redux 其实就相当于 vue 的 vuex

4.核心概念

  • 理解Redux 核心几个概念与它们之间的关系
  • state
  • reducer
  • store
  • action
(1)state 对象

通常我们会把应用中的数据存储到一个对象树中进行统一管理,我们把这个位置称为: state

(2)state 是只读的

这里需要注意的是,为了保证数据状态的可维护性和测试,不推荐直接修改state中的原数据

(3) 通过纯函数修改 state
什么是纯函数
(4)纯函数 – 函数式编程的一种概念
  • 1.相同的输入永远返回相同的输出

  • 2.不修改函数的输入值

  • 3.不依赖外部环境状态

  • 4.无任何副作用 (例如:异步请求以及定时器造成的问题)

  • 使用纯函数的好处

    • 1.便于测试
    • 2.有利于重构
(5)action 对象
  • 我们对state 的修改是通过reducer 纯函数来进行的,同时通过传入的 action 来执行具体的操作

  • action 是一个对象

  • type 属性: 表示要进行操作的动作类型, 增删改查

  • payload属性: 操作 state 的同时传入的数据

  • 但是这里需要注意的是,我们不直接去调用Reducer函数,而是通过Store对象提供的dispatch方法来调用

(6)Store 对象 (负责存储的仓库)

为了对 steta, reducer, action,进行统一的管理和维护,我们需要创建一个Store对象(仓库)

5.redux 三大原则

  • 单一数据源: 整个应用的state 被储存在一棵 obeject tree中,并且这个object tree 只存在于唯一的store中
  • State 是只读的,唯一改变state的方法就是触发 action,action是一个用于描述已发生事件的普通对象
  • 使用纯函数来进行修改

二. Redux 基本使用

代码展示

import React from "react";
import {
   createStore} from "redux"

function reducer(state={
   
  name:"小明",
  age:18
},action){
   
  return state;
}

let store = createStore(reducer);
console.log(store)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值