在没有 mapStateToProps 的情况下使用带有钩子的 createSelector(或任何记忆选择器)
Use createSelector (or any memoized selector) with hooks without mapStateToProps
我想创建一个备忘的选择器,它会在 redux 存储中的状态发生变化时自动更新。
我在此处阅读了关于 Reselect 的 createSelector
:
https://redux.js.org/recipes/computing-derived-data
我看到 mapStateToProps 被用来将选择器连接到商店。我目前只使用带钩子的 redux(useDispatch
和 useSelector
),没有使用 connect(mapStateToProps, mapDispatchToProps)
.
有没有办法使用createSelector
但仍然不用connect
?如果没有,是否有另一种方法来创建记忆选择器?
是的,它们几乎相等。 useSelector
采用一个纯函数,当调用时传递整个 redux 存储(即状态)。然而,与 Reselect 的选择器不同,它们无法接收传递的 props(除了通过闭包或柯里化)。除了一些边缘情况,大多数标准 Reselect 状态选择器都可以与 react-redux 的 useSelector 挂钩一起使用。
重新选择选择器是记忆选择器,因此 here 是使用它们的部分。
我想创建一个备忘的选择器,它会在 redux 存储中的状态发生变化时自动更新。
我在此处阅读了关于 Reselect 的 createSelector
:
https://redux.js.org/recipes/computing-derived-data
我看到 mapStateToProps 被用来将选择器连接到商店。我目前只使用带钩子的 redux(useDispatch
和 useSelector
),没有使用 connect(mapStateToProps, mapDispatchToProps)
.
有没有办法使用createSelector
但仍然不用connect
?如果没有,是否有另一种方法来创建记忆选择器?
是的,它们几乎相等。 useSelector
采用一个纯函数,当调用时传递整个 redux 存储(即状态)。然而,与 Reselect 的选择器不同,它们无法接收传递的 props(除了通过闭包或柯里化)。除了一些边缘情况,大多数标准 Reselect 状态选择器都可以与 react-redux 的 useSelector 挂钩一起使用。
重新选择选择器是记忆选择器,因此 here 是使用它们的部分。