react-redux

react-redux

store:图书管理员
Component:借书用户
Action:用户说的话(要借什么书)
Reducer:记录本

Store

//安装Redux
yarn add redux

在src目录下新建一个名为store的文件夹,并创建一个index.js,此为store仓库的内容区域。基本步骤如下:

//1. 从redux中导入一个createStore的方法。
import  {createStore} from 'redux';

//2. 创建一个store
const store = createStore();

//3. 暴露模块
export default store

有了仓库store后,必须同时把reducer传给store。
只有store的话,他什么都不知道,所以创建一个reducer:

//1. 在store的同级目录下新建一个reducer.js
//在redux中,reducer需要返回一个函数
const defaultState = {}    //默认什么数据都不存储
export default (state = defaultState,action)=>{  //state:整个store仓库里的数据
//还需返回一个内容,先默认返回state;
    return state;
}

store.subscribe() //订阅

reducer

==reducer可以接受state==,但绝不可以修改state

  1. 创建好reducer后,将其传递给store
import reducer from './reducer'
  1. 创建store的时候,把reducer传递给store
const store = createStore();
  • reducer存储着整个项目应用中的数据,这时候store就知道了仓库里数据有多少。
  • 可以去reducer里查看,reducer管理仓库里的数据(怎么处理,怎么存)
  • reducer必须返回一个函数。

action(改变store的数据,做通信)

//创建一个action
const action = {  //借书的同学说的一句话,
    type:'change_input_value',  //type说的话,值是你帮我去改变input的值
    value:e.target.value    //这个值应该是这处的value
}

dispatch

  • store通过dispatch把action传递给store,但此时store不知道该怎么处理,所以又会去找reducer,store会把当前的prevState和action传给reducer。

  • redux会自动把store里的prevState和action传给reducer

//
store.diapatch(action);    //action传给store

此时reducer拿到了数据后,对数据进行处理
因为reducer可以接受state,但绝不可以修改state**,所以给state做一个深拷贝,这是固定的做法。最后把拷贝的数据return 出去。(return以后,返回给了store)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在很久以前有一个部落,因为他们生活在森林里,所以他们的大部分家具全是用木头做的。很少用石头做东西,但还是有的比如铲...
    王思彤阅读 1,117评论 0 0
  • 姓名:王兰英 【日精进打卡第129天】 【知~学习】 《六项精进》0遍共105遍 《大学》0遍共116遍 【经典名...
    米兰王阅读 1,067评论 0 0
  • 我收到远方的一封信 小巷消逝了叮当的铃声 山那边,有一只手 拽走晚霞的面纱 夜色点亮平原深处的小城 你听见背后的门...
    达斐阅读 3,658评论 2 5

友情链接更多精彩内容