如何单独呈现警报组件?

How to render an alert component in isolation?

我有一个全局警报组件,它使用警报上下文在其 isActive 状态更新时显示和隐藏自身。我在各个地方的整个组件中都使用它。我正在构建一个模态组件,它使用警报组件在模态中显示错误。我 运行 遇到的问题是当在模式中触发警报时,它也会出现在使用警报的模式 window 之外的组件中。处理此问题的最佳方法是什么,以便警报组件仅在调用它的上下文中显示?

谢谢

对我来说,这听起来应该有两种不同的上下文,而不仅仅是一种。

我认为警报组件是全局的目的是它应该处理所有错误

如果模式应该处理它的自己的错误,那么它们可能应该在它的自己的上下文

如果您想要 re-use 部分相同的代码,您仍然可以使用 component composition

如果有一些逻辑应该处理所有错误(例如全局记录器),那可能是一个独立的组件,它独立于显示。 (可能不需要第三个上下文,因为日志将有自己的存储方式。)