反应-上下文提供者中多个不相关的值

时间:2019-03-02 04:12:01

标签: reactjs react-context

我有一个设置页面,该页面允许用户启用/禁用各种设置。目前,我正在使用单个设置上下文提供程序来传递所有设置。

实际上将所有设置隔离在单独的上下文中会更好,这样只有当使用特定设置的组件发生更改时才会重新渲染。 在我当前的实现中,即使不相关的设置发生变化,消费者也会被重新呈现。

即使他们不使用更改后的值也是如此吗?

1 个答案:

答案 0 :(得分:1)

就React所知,您并没有使用上下文中的特定值,而只是使用了特定类型的上下文。如果值(由提供者为该类型的上下文提供)更改,则需要重新呈现所有使用者。如果该值是一个对象,而您仅使用了其中的一部分,则上下文API当前无法提供任何方式来告诉React特定组件正在使用哪些部分。

我的回答here为确定将哪些内容分组提供了指导。