<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/