<MyContext.Consumer>
    {value => { }}
</MyContext.Consumer>

VS

let value = useContext(MyContext);

使用Context.Consumer和useContext钩子(Hook)访问上下文Provider传递的值,这两个代码段之间有什么区别?我认为useContext将订阅上下文提供者,因为我们将Context作为参数传递,因此当提供者值更改时,它将触发重新渲染。

最佳答案

那是对的。他们将做基本相同的事情。

在我看来,useContext钩子(Hook)具有更好的可读语法。

来自React Docs:

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



也来自React Docs:

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



更新:

来自: http://brianyang.com/react-hooks-a-deeper-dive-featuring-usecontext-and-usereducer/

关于reactjs - Context.Consumer与useContext()来访问Context.Provider传递的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56816374/

10-09 16:54