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

React - multiple unrelated values in context provider

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

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

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

就 React 所知,您并没有从上下文中使用特定的值,您只是在使用特定类型的上下文。如果值(由提供者为该类型的上下文提供)发生变化,则需要重新呈现所有消费者。如果该值是一个对象并且您只使用它的一部分,上下文 API 当前不提供任何方式让您告诉 React 特定组件正在使用哪些部分。

我的回答 提供了一些关于决定将什么组合在一起的指导。