如何减少反应上下文地狱?
我继承了前任所有者广泛使用 React.Context 的代码库。这导致了可能被描述为“上下文地狱”的情况
<AppContextProvider>
<AnotherProvider>
<AgainAnotherProvider configProp={false}>
<TestProvider>
<FooProvider>
<BarProvider configHereAlso={someEnvronmentVar}>
<BazProvider>
<BatProvider>
<App />
</BatProvider>
</BazProvider>
</BarProvider>
</FooProvider>
</TestProvider>
</AgainAnotherProvider>
</AnotherProvider>
</AppContextProvider>;
这感觉像是一种反模式,并且在理解整个应用程序的工作方式方面造成了相当大的认知开销。
我该如何解决?是否可以只使用一个提供程序来处理所有事情?我之前使用 redux-toolkit 和 redux 来管理 React 中的状态。上下文有没有类似的东西?