当它是 React Hooks with Redux 时,它必须使用选择器吗?

加深理解

在过去,当使用 React 和 Redux 时,有些人使用选择器,有些人不使用。

(我认为它是“重新选择” npm package,但我不确定)。

但是,当 React 有 Hooks 时,我认为我们可以使用

useSelector()
useDispatch()

而不是所有的mapStateToProps, mapDispatchToProps, connect(...)(Component)但是,我们必须使用useSelector()? 之前,我们可以选择使用选择器或不使用它。是不是有了 React Hooks 和 Redux 之后,就一定要使用选择器?

弗里

是的,您必须使用useSelector. 我认为你在那里有点困惑:如果你要使用connectwith mapStateToProps,你总是在那里使用一个选择器函数:mapStateToProps那个选择器函数,可能是由多个子选择器组成的,你可能是内联编写的或从某个地方导入的.

但是,如果您想要状态中的任何值,您永远不会“选择不使用选择器”。我认为你的“什么是选择器”的概念有点过于严格。

您可以通过两种方式使用它:

// in your slice file
export const someSelector = state => state.something;
// in your component file
import someSelector from './sliceFile';
// in your component
useSelector(someSelector)

或者只是内联:

useSelector(state => state.something)

这两个都是 selectors,即使第二个看起来不太像它。

一个只是提取到一个函数中,另一个是内联函数。两者都完全可以使用,从 JS 的角度来看,它们之间没有太大区别。

正如您提到的重新选择:重新选择使“记忆选择器”,这是它的另一个概念。为此,您可以自由使用或不使用它,您就在那里。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章