在没有 mapStateToProps 的情况下使用带有钩子的 createSelector(或任何记忆化选择器)

Yon*_*Nir 6 reactjs react-redux reselect

我想创建一个 memoized 选择器,它会在 redux 存储中的状态发生变化时自动更新。

createSelector在这里阅读了有关重新选择的信息:

https://redux.js.org/recipes/computing-derived-data

我看到mapStateToProps被用来选择连接到商店..我目前使用终极版用钩子只(useDispatchuseSelector)不使用connect(mapStateToProps, mapDispatchToProps)

有没有办法使用createSelector但仍然不使用connect?如果没有,是否有另一种方法来创建记忆选择器?

Dre*_*ese 7

是的,它们几乎是等价的。useSelector采用一个纯函数,在调用时传递整个 redux 存储(即状态)。然而,与 Reselect 的选择器不同,它们不能接收传递的 props(除了通过闭包或柯里化)。除了一些边缘情况,大多数标准的 Reselect 状态选择器都可以与 react-redux 的 useSelector 钩子一起使用。

重新选择选择器是记忆选择器,所以这里是使用它们的部分。

useSelector redux 文档