useSelector或useContext

时间:2020-02-27 17:28:47

标签: javascript reactjs redux react-hooks

我的问题是基于观点而不是事实。 我想知道什么是更好的做法,我的情况如下: 我有一个react组件(它是父组件),它使用一些useSelector来获取存储数据,并且有很多子代。

从组件children消费数据的最佳方法是什么?

  • React.useContext()包裹父组件,并将其传递给<*Context*.Provider/>,并以<*Context*.Consumer/>消费
  • 在子级内部使用useSelector()从商店中获取数据。

他们两个都会记住数据,所以我不必担心... 他们俩似乎都是不错的方法,我想知道他们每个人的优势是什么?

2 个答案:

答案 0 :(得分:2)

您可以同时使用两者(因为useSelector在后​​台使用了Context API)。这就是为什么必须具有父<Provider store={store}>元素才能使用useSelector

因此,我认为最简单的方法是进行useSelector并让React Redux担心Context API。

答案 1 :(得分:0)

据我说,不到一个星期前,我在同一个问题上苦苦挣扎:

  • 当使用数据的组件在数据更改时需要更新时使用第一个,使用方将在应用程序中任何地方使用的数据更改时使用渲染器重新呈现组件。

  • 仅在更新数据或不在乎数据以后是否更改时使用第二个