如何在 StencilJS 组件之间共享状态

How to share state between StencilJS components

我想在我的 StencilJS 组件之间共享状态。所以我检查了他们在 API site 上推广的 Redux 实现。它的作用类似于

@Prop({ context: "store" }) store: Store;

但现在我只是将 BREAKING_CHANGES 标记为红色,其中描述了不推荐使用 context。我实际上喜欢使用 context 但如果不推荐使用它,我该如何在我的组件之间共享状态。我真的不希望将所有内容从父级传递给子级等

context API,即使已弃用,仍然有效,至少在 @stencil/redux 包更新之前。

如果您正在寻找全局状态的简单替代方案,您应该看看 @stencil/store (https://github.com/manucorporat/stencil-store/tree/master/packages/stencil-store)。它允许您创建一个带有 createStore(initalState) 和 returns 的商店,一个 state 引用,您可以在您的组件中导入和引用它。当商店的状态发生变化时,库将负责触发组件的更新。