Redux中thingySelector选择器函数的工作原理咨询
thingySelector的工作原理
这是用Redux的createSelector创建的记忆化选择器,具体工作逻辑如下:
- 输入选择器提取数据:第一个参数
(state: RootState) => state.thingy.data的作用是从Redux根状态RootState里精准取出state.thingy.data这部分数据,作为后续处理的输入源。 - 转换函数处理数据:第二个参数
(data) => data是对输入数据的处理逻辑——这里只是原样返回输入的data,没有做额外加工。 - 记忆化优化逻辑:
createSelector的核心是记忆化缓存:只有当输入选择器返回的data和上一次的内容(基础类型看值,引用类型看内存引用)发生变化时,才会重新执行转换函数并更新缓存;如果数据没变化,直接返回之前缓存的结果。这种机制能避免不必要的重复计算,减少组件无意义的重渲染。 - 扩展潜力:当前这个选择器看似和直接写
(state) => state.thingy.data效果一致,但因为基于createSelector实现,后续如果需要对data做过滤、格式化等加工,只需修改第二个转换函数即可,同时自动保留记忆化的优化能力。
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

