首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Redux存储不会更新app.js中的所有更改

是因为Redux是一种用于JavaScript应用程序的可预测状态容器。它通过一种称为单向数据流的模式来管理应用程序的状态。具体来说,Redux的状态存储在一个称为store的单一对象中,并通过一个称为action的纯净对象来描述状态的变化。当发生状态变化时,Redux使用一个称为reducer的纯函数来处理状态的更新。

在Redux中,状态的更新是通过dispatch一个action来触发的。当应用程序中的某个组件发生了一些操作,需要更新状态时,它会创建一个对应的action,并将其dispatch给Redux的store。Redux store会将这个action传递给reducer函数进行处理,reducer根据action的类型来更新状态,并返回一个新的状态对象。然后,Redux store会使用这个新的状态对象来替换之前的状态,从而实现了状态的更新。

然而,Redux的状态更新是通过纯函数的方式来进行的。这意味着每次状态更新都会创建一个新的状态对象,而不是直接修改原始的状态对象。这样做的好处是可以确保状态的不可变性和可预测性,从而简化状态管理和调试过程。但也意味着如果在app.js中直接修改Redux存储中的状态,不会触发状态的更新。

为了实现状态的更新,我们可以使用Redux提供的connect函数来连接组件和Redux store,并通过mapStateToProps和mapDispatchToProps两个参数来指定组件需要访问的状态和需要触发的action。通过这种方式,我们可以在组件中通过props访问和更新Redux存储中的状态。

综上所述,Redux存储不会更新app.js中的所有更改是因为Redux通过纯函数方式进行状态的更新,需要使用connect函数来连接组件和Redux store,并通过props来访问和更新状态。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Redux 包教包会(一):解救 React 状态危机

    前端应用的状态管理日益复杂。随着大前端时代的到来,前端愈来愈注重处理逻辑,而不只是专注 UI 层面的改进,而以 React 为代表的前端框架的出现,大大简化了我们编写 UI 界面的复杂度。虽然 React 提供了 State 机制实现状态管理,也有诸如“状态提升”等开发约定,但是这些方案只适用于小型应用,当你的前端应用有多达 10 个以上页面时,如何让应用状态可控、让协作开发高效成为了亟待解决的问题,而 Redux 的出现正是为了解决这些问题而生的!Redux 提出的“数据的唯一真相来源”、单向数据流、“纯函数 Reducers” 大大简化了前端逻辑,使得我们能够以高效、便于协作的方式编写任意复杂的前端应用。本篇教程致力于用简短的文字讲透 Redux,在实战中掌握 Redux 的概念和精髓。

    02

    小程序生命周期

    小程序并不是 HTML5 应用,而是更偏向于传统的 CS 架构,它是基于数据驱动的模式,一切皆组件(视图组件)。下面是小程序与普通 Web App 的对比。 普通 HTML5 都是执行在浏览器的宿主环境,浏览器提供 window、document 等 BOM 对象,但小程序没有 window、document,它更像是一个类似 Node.js 的宿主环境;因此在小程序内不能使用 document.querySelector 这类 DOM 选择器,也不支持 XMLHttpRequest、location、localStorage 等这些浏览器提供的 API,只能使用小程序自己实现的 API 小程序并非是直接通过 URL 访问的,而是通过信道服务进行通信和会话管理,所以它不支持 Cookie 存储,同时访问资源使用 wx.request 则不存在跨域的问题 小程序在 JavaScript 的模块化上支持 CommonJS,通过 require 加载,跟 Node.js 类似 小程序的页面样式完全继承了 CSS 的语法,但是在选择器上面会少一些,布局支持 flex 布局 小程序的整体框架采用面向状态编程方式,状态管理从 API 来看采用类似 Redux 的设计方式;单向数据绑定方式,当 View 在 Action 操作后,只能通过 Action 的业务处理来更新 View 页面组件模块上,WXML 提供了一整套的「自定义 UI 组件标签」,有些组件实际是 HTML5 实现的,有些组件为了解决权限、性能和适配等问题实际是 Native 实现的(如 map、input、canvas、video)

    01
    领券