react中的redux的了解,三大核心理念以及三大原则

这篇具有很好参考价值的文章主要介绍了react中的redux的了解,三大核心理念以及三大原则。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、要学习redux首先我们先了解下函数式编程中的纯函数;我们最基本的javascript符合函数式编程,因此他也有纯函数。
纯函数:在程序中,若一个函数复合下面的条件,那么这个函数就可以被称为纯函数:
⑴这个函数在相同输入值时,需产生相同的输出。纯函数的输出和输入值以外的其他隐藏信息或状态无关,也和由I/O设备产生的外部输出无关。
⑵这个函数不能有语义上可观察的函数副作用,比如:“触发事件”,使输出设备输出,或更改输出值以外物件的内容等。

//纯函数
function sum(num1,num2){
  return num1+num2
}
sum(20,30)
//不是纯函数
let age = 1;
function sum1(num){
    return age+num
}
sum(5)
age = 3;
sum(5)
//纯函数 
const bar = 2;
function sum2(num3){
  return bar+num3
}
sum2(2)

以上我们总结下:
⑴确定的输入,一定会产生确定的输出;
⑵函数的执行过程中,不能产生副作用。
2、redux的核心理念
⑴、redux管理的数据都是可以追踪的;
⑵、所有数据的变化,都必须通过派发(dispatch)来更新,action是一个普通的javascript对象,用来描述这次更新的type和content;

const action = {type:"CHANGE_NAME",playload:{index:0,newName:"axin"}}

⑶、reducer是redux的第三个核心理念,它的作用是将state跟action联系在一起。
3、redux的三大原则
⑴单一数据源
①整个应用程序的state被存储在一颗object tree中,并且这个object tree只存储在一个store中
②redux并没有强制让我们不能创建多个Store,但是那样做并不利于数据的额维护;
③单一的数据源让整个应用程序的state变得方便维护、追踪、修改;
⑵State是只读的
①唯一修改State的方法一定是触发action,不要试图在其他地方通过任何的方式来修改State
②这样就确保了View或网络请求都不能直接修改state,它们只能通过修改action来描述自己想要如何修改state;
③这样可以保证所有的修改都被集中化处理,并按照严格的顺序来执行,所以不需要担心race condition(竞态)问题。
⑶使用纯函数来执行修改
①通过reducer将旧state和action联系在一起,并且返回一个新的State;
②随着应用程序的复杂度增加,我们可以将reducer拆分成多个小的reducers,分别操作不同state tree的一部分;
③但是所有的reducer都应该是纯函数,不能产生任何的副作用。文章来源地址https://www.toymoban.com/news/detail-402822.html

到了这里,关于react中的redux的了解,三大核心理念以及三大原则的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • react中redux的详细使用以及持久化处理

    一.redux使用 1.安装 npm i  redux 例一: 2.创建redux文件夹,store.js文件 store.js文件 3.将提供者绑定到跟组件内外层,使每个被包裹的组件都可以使用store 4.更改状态 5.使用状态变化的组件 例二: 1.新建LoadingReducer.js文件 2.路由文件 3.在axios封装文件内使用 二.持久化 1.安装 npm i r

    2024年02月10日
    浏览(41)
  • React中的redux-saga详解

    redux-saga 是 redux 一个中间件,它是基于ES6 的 Generator 功能实现,用于解决异步问题(让redux中可以直接进行异步操作)。 组件会发送一个 action 对象给 redux-saga,redux-saga(主saga) 就会分析监听 saga 中有没有当前 action 对应的 type 类型操作,如果在监听 saga 中找到了,说明当前

    2024年02月04日
    浏览(39)
  • React从入门到实战 -组件的三大核心属性(1)state

    State state是组件对象最重要的属性, 值是对象 (可以包含多个Key-value的组合) 组件被称为状态机,通过更新组件的state来更新对应的页面显示(重新渲染组件) 有状态的组件 除了使用外部数据(通过this.props访问)以外,组件还可以维护其内部的状态数据(通过this.state访问

    2024年02月10日
    浏览(38)
  • react中使用redux,但是通过useEffect监听不到redux中的数据变化?

    在React中使用Redux并通过useEffect监听Redux中的数据变化时,需要使用 react-redux 库中的 useSelector 钩子来选择需要监听的Redux状态。 useSelector 函数允许您从Redux存储中选择和获取特定的状态。 以下是一种在React组件中使用Redux,并通过useEffect监听Redux中的数据变化的常见方法: 首先

    2024年02月16日
    浏览(50)
  • 〖大前端 - 基础入门三大核心之CSS篇⑱〗- CSS中的背景

    说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专栏\\\"加入社区获取 所有 付费专栏的内容之外, 还可以通过加入 星荐官共赢计划 加入私域社区。 当前子专栏 基础入门

    2024年02月01日
    浏览(48)
  • React中使用Redux (二) - 通过react-redux库连接React和Redux

    react-redux库使用Redux 上一篇文章演示React中直接使用Redux的使用过程是十分繁琐的, 并且有许多重复代码 但是实际上redux官方帮助我们提供了 react-redux 的库,这个库是帮助我们完成连接redux和react的辅助工具, 可以直接在项目中使用,并且实现的逻辑会更加的严谨和高效 这篇我们

    2024年02月20日
    浏览(54)
  • 【React】redux和React-redux

    🎀个人主页:努力学习前端知识的小羊 感谢你们的支持:收藏🎄 点赞🍬 加关注🪐 redux 适用于多交互、多数据源的场景。 使用redux的场景: 某个组件的状态需要共享 一个组件需要改变其他组件的状态时 一个组件需要改变全局的状态时 redux的三大原则: 整个应用的 state

    2024年02月06日
    浏览(58)
  • 浅聊一下SpringMVC的核心组件以及通过源码了解其执行流程

    MVC作为WEB项目开发的核心环节,正如三个单词的分解那样,Controller(控制器)将View(视图、用户客户端)与Model(javaBean:封装数据)分开构成了MVC,今天我们浅聊一下SpringMVC的相关组件以及通过源码了解器执行流程 我们需要先在web.xml里面配置DispatcherServlet,现在我给出两种

    2024年02月09日
    浏览(39)
  • React中使用Redux (一) - 在React中直接使用Redux

    开始之前需要强调一下,redux和react没有直接的关系,你完全可以在React, Angular, Ember, jQuery, or vanilla JavaScript中使用Redux 。 尽管这样说,redux依然是和React库结合的更好,因为他们是通过state函数来描述界面的状态,Redux可以发射状态的更新, 让他们作出相应; 目前redux在react中使

    2024年01月23日
    浏览(59)
  • 【DevOps核心理念基础】1. 什么是 devops

    一、什么 devops? 1.1 定义 1.2 作用 1.3 核心 1.4. 软件开发流程 1.5. DevOps的核心定义 1.6. 具备的能力 二、DevOps流程中的几个关键概念 2.1 持续集成 2.2 持续交付 2.3 持续部署 2.4 总结 三、DevOps和敏捷开发的演进 Development Operations  的缩写,也就是 开发运维 DevOps 是一个 不断提高效率

    2024年02月07日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包