使用带有钩子的createSelector(或任何记忆选择器),而不使用mapStateToProps



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

我在这里阅读了有关ReselectcreateSelector

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

我看到mapStateToProps被用来将选择器连接到商店。我目前只使用带有钩子的 redux(useDispatchuseSelector(,而不使用connect(mapStateToProps, mapDispatchToProps).

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

是的,它们几乎是等价的。useSelector采用一个纯函数,当调用时,将传递整个 redux 存储(即状态(。然而,与重新选择的选择器不同,它们没有能力接收传递的道具(除了通过闭包或柯里奇(。除了少数边缘情况外,大多数标准重新选择状态选择器都可以与 react-redux 的 useSelector 钩子一起使用。

重新选择选择器正在记忆选择器,因此这里是使用它们的部分。

useSelector redux docs

最新更新