我的问题与其说是基于事实,不如说是基于观点。我想知道什么是更好的练习,我的场景如下:我有一个react组件(它是父组件(,它使用一些useSelector
来获取存储数据,并且它有许多子组件。
使用组件children
的数据的最佳方法是什么?
- 用
React.useContext()
包装父组件并将其传递给<*Context*.Provider/>
,然后将其作为<*Context*.Consumer/>
使用 - 在子级中使用
useSelector()
从存储中获取数据
他们两个都会保存数据,所以我不担心。。。这两种方法似乎都很好,我想知道它们各自的边缘情况是什么?
两者都使用(因为useSelector
在后台使用Context API(。这就是为什么必须有一个父<Provider store={store}>
元素才能使用useSelector
。
所以我认为最简单的方法是做useSelector
,让React Redux担心Context API。
据我说,不到一周前,我还在为同样的问题而挣扎:
-
当使用数据的组件需要在数据更改时更新时使用第一个,当使用的数据在应用程序中的任何位置更改时,使用使用者将重新呈现组件
-
当你只是在更新数据时,或者只是不在乎数据是否在以后发生变化时,使用第二个