createContext()和useReducer()是否接收相同的“ initialState”对象?

时间:2020-06-18 02:07:55

标签: typescript react-hooks react-context

尝试打字稿+ react hooks +上下文api,我注意到createContextuseReducer都具有'initialState'所需的参数。一次定义一次并将相同的对象传递给两者,这感觉很奇怪,这让我想知道区别是什么。

1 个答案:

答案 0 :(得分:0)

有什么区别?

好吧,上下文是一种与父组件共享值以深度嵌套子代的特殊方法。

https://reactjs.org/docs/context.html

useReducer完全是另外一回事,它是一种通过转换状态的纯函数来管理React状态的方法。

https://reactjs.org/docs/hooks-reference.html#usereducer

他们彼此无关。它们是完全独立使用的,尽管在某些情况下您可以将它们一起使用,但是React并没有固有的内在联系方式。

因此,他们需要不同的initialState参数,因为它们是不同的系统,具有不同的要求和用法。