我一直在阅读新的上下文API,并且有一个问题,就是将它与HOC一起使用来注入道具而不是直接包装每个需要访问某个州的消费者的孩子。
上述可实现的没有上下文?是不是可以在HOC中放置一些状态并将其注入需要访问的包装组件中?
答案 0 :(得分:3)
该文档解释了许多组件需要访问公共主题的用例,因此可以用HOC包装。如果没有context
,您可以使用HOCs状态来存储变量并传递给包含HOC的组件,但所有这些组件都将具有不同的状态实例,并且不会对主题一起改变。
Context
可以集中存储数据,所有听众/消费者都会对变化做出反应。
答案 1 :(得分:0)
这是可能的,但每个包装的组件将拥有从HOC传递的自己的数据。使用上下文时,此数据在组件之间共享。
因此,在上下文中更改数据将使所有Consumers
重新呈现,而HOC仅适用于包装组件。