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

选择器不获取对象,即使我在redux上看到它

选择器不获取对象是指在使用redux时,选择器函数不直接获取redux store中的对象,而是通过使用reselect库来创建可记忆的选择器函数。通过使用reselect库,可以优化redux中的选择器函数的性能。

选择器是一种用于从redux store中获取数据的函数。它们允许我们从store中提取状态,并将其转换为我们所需的格式。选择器可以接收一个或多个参数,并使用这些参数来筛选、转换和组合store中的数据。

使用reselect库的好处包括:

  1. 性能优化:reselect使用了记忆化的缓存机制,当选择器的输入参数没有发生变化时,选择器会直接返回缓存的结果,避免重复计算。
  2. 组合和复用:选择器可以被组合使用,创建更复杂的选择器。这样可以将大的选择器拆分为多个小的选择器,提高代码的可维护性和复用性。
  3. 解耦数据结构:选择器可以帮助我们解耦store中的数据结构与应用程序中的组件。它们提供了一种灵活的方式来处理和转换数据,使组件可以更专注于渲染和用户交互。

在应用场景上,使用选择器可以方便地获取store中的数据,并进行必要的转换和过滤,以满足组件的需要。常见的应用场景包括:

  1. 数据转换:选择器可以将原始数据进行转换,使其适合用于组件的渲染。例如,将一组对象转换为数组,或者从一个复杂的数据结构中提取特定的字段。
  2. 数据筛选:选择器可以根据某些条件筛选出store中的数据。例如,从一个包含所有用户的列表中,筛选出活跃用户或特定角色的用户。
  3. 数据关联:选择器可以用于关联不同部分的store数据,以生成新的派生数据。例如,从用户信息和订单信息中关联出每个用户的订单列表。

对于redux应用程序中的选择器,腾讯云没有专门的产品或服务提供。但reselect库是一个常用且被广泛认可的选择器库,可以在腾讯云云计算平台上与任何相关产品和服务一起使用。你可以在reselect库的官方文档中了解更多关于reselect的详细信息和用法:reselect官方文档

相关搜索:(Javascript问题) getElementById无法获取元素,即使我可以在Chrome检查器中看到它我可以在three.js对象上看到线条,即使线框处于关闭状态Javascript未定义字段,即使我可以在开发人员工具(React & Electron)中看到它我的按钮不工作了,我怎么在android studio上让它工作?CSS)为什么我的‘悬停’不工作?我在谷歌上搜索,但我不能修复它为什么即使在Swift中删除了FireStore对象,我仍然可以获取数据?React-Redux。我可以在状态下查看我的数组,但不能映射到它上当我获取数据时,我可以看到状态已设置,但当我从状态调用数据时,它显示对象未定义在spring上从react UI获取状态对象,而不创建模型Angular Redux @select()对象,那么我可以在我的控制器中订阅它吗?这个模式还会取消订阅我的onDestroy吗?我正在尝试编写一个播放器对象,该对象执行简单的任务,即使用WASD在画布上移动,但不移动new Date()在heroku服务器上返回的时间是8 PM,即使我输入的时间是11:59 PM我怎样才能使它准确呢?我应该在什么环境中为电报机器人编写代码,以便它即使在控制台不运行时也能工作?我在Heroku Git上托管了一个discord.py机器人,即使我在网站上打开了它,它在discord服务器上也无法上线我正在从API请求数据。目前,我以对象数组的形式获取数据,但无法在浏览器上呈现输出Redux在长坐标数组中的性能。我需要获取一个巨大数组上的所有坐标才能在地图上显示如何将对象设置为context,这样我就可以使用@Context在应用程序中的任何位置获取它我在网页上使用<script type="text/json“id="myJSON">暴露了一个对象。在JavaScript上访问它的最佳方式是什么?我应该如何重置所有的对象,事实上,整个世界在重新开始一个新的游戏时,它的原始状态?我正在尝试在云表单中获取一个文件,以便在ec2实例中生成,但似乎在ec2实例上看不到它
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【领域驱动设计】Redux 和领域驱动设计

本文中,解释了 DDD 是什么,一些关键概念,以及 Redux 如何实现其思想。理解两者,我们可以提供更好的实现;来自不同世界的两种方法相互碰撞并利用相同的设计原则。...让我们将之前的概念与 Redux 进行比较: 查询:它们是选择器选择器从状态中获取一条信息。 命令:它们是动作。当我们调度一个动作时,我们提交一个新命令。...接收 PostAdded 事件并增加每个事件的计数。 Redux 中的等价物是多个 reducer 不同的地方使用相同的操作进行更新。...尽管我们有带记忆的选择器,但有时,我们更喜欢保留计算得出的数据以提高性能。例如,当我们有一个带有由键索引的实体的对象时,但我们有一个带有键的数组。加快了列表查询。...我们减少了应用程序的耦合,我们可以更改任何代码的情况下从系统中插入和拔出单元。 Redux 做同样的解耦。每个组合的减速器就像一个聚合体。当 reducer 收到一个动作时,它会独立地减少

1.5K30
  • 你必须知道的react redux 陷阱

    react redux介绍 React ReduxRedux 的官方 React UI 绑定层。允许您的 React 组件从 Redux 存储中读取数据,并将操作分派到存储以更新状态。...官方大意就是这是一个广受关注,但实际发生次数很少的问题。...接下来,详细说一下,他们发生的条件: 陈旧props触发条件: 选择器函数依赖于该组件的 props 来提取数据 作为一个动作的结果,父组件会重新渲染并传递新的道具 但是这个组件的选择器函数在这个组件有机会用这些新道具重新渲染之前执行...当根据 props 从 store 中读取一个值时,该数据不再存在,如果提取逻辑不小心,这可能会导致抛出错误。 嗯,其实觉得这是一个使用方式的问题,这种bug可以说是设计之初就决定不能这样使用的。...以上,就是关于react redux 陷阱的分享。欢迎交流,提建议。拜拜。

    2.5K30

    学习react-redux,看这篇文章就够啦!

    下面是常用的 hooks 函数以及用法 # useSelector useSelector:用于选择 Redux store 中感兴趣的状态。接受一个选择器函数作为参数,并返回选择器函数返回的值。...接受一个包含动作创建函数的对象作为参数,并返回已绑定到 Redux store 的动作创建函数。... React Redux 中,可以使用该钩子函数对选择器函数进行记忆化,以避免不必要的重复计算。...下面用 vuex 和 redux 进行对比,会发现两者除了语法不同,但在功能、设计、理念、用法如此一致, # 功能 无论 redux 还是 vuex,本质作用都是一个状态管理的工具,用于共享数据的仓库...创建仓库;2、获取仓库;3、修改仓库、 具体实现如下: Redux:使用 Redux 的步骤包括定义 action 类型、创建 action 创建函数、编写 reducer 处理器,以及创建和配置

    27020

    【offer 收割计划】你知道为什么 reducer 最好是一个纯函数吗?

    key, value 值,但是这样会相对的麻烦一些,因此推荐 for ... of 来遍历对象 ✅ for...of 更适合遍历数组,并且只是遍历数组内的元素,不会遍历原型属性以及自身的属性...在谈作用之前,先来区分一下伪元素和伪类 伪类:从字面上来看,可以理解为一个 CSS 类,它就是用来选择处于特定状态的元素的选择器,比如处于 hover 状态的元素,某个 class 的第几个元素,和普通的类不一样...,来看看到底是什么原因造成的,Redux 接收一个 state 对象,然后通过 for 循环,将 state 的每一部分传递给对于的 reducer ,如果发生任何改变, reducer 将返回一个新的对象...== 来进行判断前后的 state 是否相等,这是一种浅比较的方法,的理解就是地址有没有变化 因此如果我们传入的 state 是旧的基础更改的,那么的地址是不会发生变化的,因此是不会通过这层浅比较的...通过这几道面试题,我们复习了 JavaScript 中的循环语句,也区分了 splice 和 slice 而又深入理解 redux 中 reducer 的工作原理,这对自己来说提升还是很大的,不知道看到这里的你有没有什么收获呢

    1K20

    【React】211- 2019 React Redux 完全指南

    Redux 是 React 的附加项。 即使你打算同时使用它们,还是强烈建议先脱离 Redux 学习纯粹的 React。...就像一个规则工厂,甚至不知道那是什么。 是的,Redux 就像一个霸道的父母。但它是出于爱。函数式编程的爱。 Redux 建立不变性的基础,因为变化的全局 state 是一条通往废墟之路。...想象一下,一堆煎饼浇糖浆以及铺满所有煎饼的方式,即使你只最上层倒了糖浆。Provider 对 Redux 做了同样的事情。...只要你接收 state 对象然后返回全是 props 的对象,那就没问题。 为什么传整个 state?...不过还是会解释下它们是什么。然后你可以决定你是否有时/总是/绝不想使用它们。 Actions 生成器 Redex 术语中是一个简单的函数术语,返回一个 action 对象

    4.2K20

    设计师都能懂的 Redux 指南

    的目标是帮助像你们这样的设计师。即使您以前没有写过一行代码,认为理解 Redux仍然是可能的、有益的和有趣的。 什么是 Redux 超高水平Redux 是开发人员用来简化他们工作的工具。...这是一个有点复杂的工具,学习曲线相对陡峭,但这是否意味着我们作为设计师应该远离认为我们应该拥抱。汽车设计师应该了解引擎的用途,对吗?...首先,我们需要从云服务器获取所有这些数据并将其放在某个位置。接下来,我们需要实际显示数据。我们需要将这些数据分配给对应的 UI 元素,这些 UI 元素表示我们浏览器中实际看到的内容。...一种简单的方法是需要的地方和时间获取和存储数据。这就像每个厨师直接从遥远的农场购买蔬菜和肉类一样。 这种方法是很浪费的。即使对于相同的数据,我们也需要从多个组件多次请求服务器。...如果我们的厨师住在公寓里,看起来就像这样: 要将数据交付到目的地,我们必须使用路径的所有组件,即使它们根本不需要数据。如果有很多层的话,那就太烦人了。 如果超市能送货上门呢?

    1.6K10

    从设计的角度看 Redux

    的目标是帮助像你们这样的设计师。即使您以前没有写过一行代码,认为理解 Redux仍然是可能的、有益的和有趣的。 什么是 Redux 超高水平Redux 是开发人员用来简化他们工作的工具。...为什么要了解 Redux Redux 更多的是关于应用程序的内部工作而不是的外观和感受。 这是一个有点复杂的工具,学习曲线相对陡峭,但这是否意味着我们作为设计师应该远离。...首先,我们需要从云服务器获取所有这些数据并将其放在某个位置。接下来,我们需要实际显示数据。我们需要将这些数据分配给对应的 UI 元素,这些 UI 元素表示我们浏览器中实际看到的内容。...如果我们的厨师住在公寓里,看起来就像这样: ? 要将数据交付到目的地,我们必须使用路径的所有组件,即使它们根本不需要数据。如果有很多层的话,那就太烦人了。 如果超市能送货上门呢?...不是说 Redux 能够用最少的代码实现功能吗? 这有点像使用洗碗机。 首先,你得花时间仔细地排列盘子。 在此之前,你将看到洗碗机的好处:节省实际清洁餐具的时间,消毒餐具等。

    1.7K30

    React进阶篇(八)react redux

    redux是参考Flux设计原则的一个管理数据流的库。 下图为redux的核心运作流程 ? redux 三大原则: 单一数据源:整个应用的状态都保存在一个对象(store)中。...import {createStore} from 'redux'; const store = createStore(reducers, initialState); store是一个对象,包含4...Redux性能优化 使用react-redux 使用react-redux的connect函数时,实际产生了一个无名的React组件类,这个类定制了shouldComponentUpdate函数的实现...2)用reselect提高数据获取性能 工作原理:只要相关状态没有改变,就直接使用上一次的缓存结果。...通过Immutable.js创建的对象在任何情况下都无法被修改,这样可以防止由于开发者的粗心导致直接修改Redux的state。

    1.4K30

    React-Redux-thunk

    前言React-Redux-Thunk是一个用于处理Redux异步操作的中间件,扩展了Redux的能力,使您能够更轻松地处理异步操作,如网络请求或定时任务。...当前保存异步数据存在的问题异步数据既然要保存到 Redux 中, 所以获取异步数据也应该是 Redux 的一部分,所以获取异步数据的代码应该放到 Redux 中, 而不是放到组件生命周期方法中。... Redux获取网络数据使用 redux-thunk 中间件redux-thunk 作用默认情况下 dispatch 只能接收一个对象, 使用 redux-thunk 可以让 dispatch 除了可以接收一个对象以外...action 当中保存数据,派发的方法当中会自动的将 dispatch 传入到方法的参数列表,然后可以通过 dispatch 在此派发任务进行保存数据,更改 action.jsexport const.../docs/advanced/AsyncActions.html最后本期结束咱们下次再见~ 关注迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎评论区留言,一般看到都会回复的。

    20420

    React-全局状态管理的群魔乱舞

    大家好,是柒八九。 前面,我们针对-前端框架-React系列,讲了很多东西。...而从根本讲,「React 是一个用于构建用户界面的 JavaScript 库」。 ❝的「核心」是「跟踪组件状态的变化」并将更新的状态投射到屏幕。...正如我们看到的,早期,无论何种的React应用都「无脑」的投入到Redux的生态中。 随着,社区的完善和进步,大家逐渐发现Redux并不是解决React状态管理的「银弹」。...允许开发者将他们的状态「持久化在内存中」,并避免大型的项目中,通过props将顶层数据,一层一层向下传递的问题。早期开发React应用时,我们总是通过Redux来解决此类问题。...全局状态管理库和模式的新浪潮 自下而上模式的崛起 我们可以看到以前的状态管理解决方案,如Redux,设计理念是状态 「自上而下」流动。「倾向于组件树的顶端吸走所有的状态」。

    3.7K20

    React总结概括

    有三点值得注意:1、定义类名字的首字母必须大写 2、因为class变成了关键字,类选择器需要用className来代替。...Redux 首先,redux并不是必须的,的作用相当于顶层组件之上又加了一个组件,作用是进行逻辑运算、储存数据和实现组件尤其是顶层组件的通信。...第一次做react项目的时候并没有用redux,所有的逻辑都是组件内部实现,当时为了实现一个逻辑比较复杂的购物车,洋洋洒洒居然写了800多行代码,回头一看我自己都不知道写的是啥,画面太感人。...dispatch会立即触发reducer,有些时候我们希望立即触发,而是等待异步操作完成之后再触发,这时候用redux-thunk对dispatch进行改造,以前只能传入一个对象,改造完成后可以传入一个函数...通常我们顶层的ui组件打印props时可以看到一堆属性: ?

    1.2K20

    聊聊两个状态管理库 Redux & Recoil

    简单整理了一些目前主流的: Redux React Context & useReducer Mobx Recoil react-sweet-state hox 这几个都是接触过的,Npm 的现状和趋势对比...今天5月份, 一个名叫 Recoil.js 的新成员进入了的视野,带来了一些有趣的模型和概念,今天我们就把Redux 做一个简单的对比, 希望能对大家有所启发。...Recoil Recoil.js 提供了另外一种思路, 的模型是这样的: React tree 创建另一个正交的 tree,把每片 item 的 state 抽出来。...相对于整个应用程序中的其他原子和选择器,该字符串应该是唯一的. get:作为对象传递的函数{ get },其中get是从其他案atom或selector检索值的函数。...而redux, 我们的习惯是, 把容器组件连接到store, 至于子组件,哪怕往下传一层,也没什么所谓。 想,Recoil 这么设计,可能是十分注重性能问题,优化超大应用的性能表现。

    3.4K10

    各流派 React 状态管理对比和原理实现

    趋势对比 ​ 编辑切换为居中 添加图片注释,超过 140 字(可选) 从图上可以看到Redux 一骑绝尘,这也是因为 Redux 出现比较早,对早期的 React 状态管理痛点冲击很大。...这里 codesandbox 上面写了一个 Redux 的 todomvc,可以作为参考:redux-todomvc-vzwps PS:我们讨论 Redux 的时候,默认是 Redux + React-redux...reducer 中需要返回一个新的对象会造成心智负担。如果返回新的对象或者更新的值过于深层,经常会发现的 action 发送出去了,但为什么组件没有更新呢?...支持面向对象编程,而面向对象往往很适合业务模型。支持响应式编程,通过依赖收集可以做到非常精确的局部更新,而 Redux 需要手动去控制更新。...编辑切换为居中 添加图片注释,超过 140 字(可选) 可以看到 queueOrPerformStateUpdate 里面支持批量操作,可以将多个 set 操作合并。

    2.9K61

    基于flux和observer相结合的思想的数据管理器

    在下一节将专门探讨一下这个概念之分。总之,讨论redux和mobx领域,你看到的“数据”其实都是指“状态”的概念,当然,有些状态是直接对数据的引用。...讨论数据管理器之前,我们还是讨论一下data和state的区别,以避免在下文的阐述中你会反复问“已经有redux了,为嘛还要一个数据管理器”这样的问题。...但是对于使用者而言,它不需要关心这些,只需要知道如何从这里获取数据,有就得到,没有就得到一个undefined。 最后是获得通知。...autorunmobx的意思是,当你有一个函数,它本身本身永远不会有观察者,所以没有办法在数据发生变化时即使响应来重新执行,这个时候,我们可以使用autrun方法来包裹。...为了防止用户直接操作修改通过get得到的数据,我们get输出数据时,进行了一次深拷贝,这样对于应用而言,即使强制修改了数据,也不能影响其它应用,因为从代码层面,实际它们使用的根本不是同一个js对象

    82110

    基于flux和observer相结合的思想的数据管理器

    在下一节将专门探讨一下这个概念之分。总之,讨论redux和mobx领域,你看到的“数据”其实都是指“状态”的概念,当然,有些状态是直接对数据的引用。...讨论数据管理器之前,我们还是讨论一下data和state的区别,以避免在下文的阐述中你会反复问“已经有redux了,为嘛还要一个数据管理器”这样的问题。...但是对于使用者而言,它不需要关心这些,只需要知道如何从这里获取数据,有就得到,没有就得到一个undefined。 最后是获得通知。...autorunmobx的意思是,当你有一个函数,它本身本身永远不会有观察者,所以没有办法在数据发生变化时即使响应来重新执行,这个时候,我们可以使用autrun方法来包裹。...为了防止用户直接操作修改通过get得到的数据,我们get输出数据时,进行了一次深拷贝,这样对于应用而言,即使强制修改了数据,也不能影响其它应用,因为从代码层面,实际它们使用的根本不是同一个js对象

    87460
    领券