Javascript React lib覆盖您的web应用程序上下文
我想知道关于react上下文的好模式 让我们获得一个公共库,例如,Javascript React lib覆盖您的web应用程序上下文,javascript,reactjs,react-context,Javascript,Reactjs,React Context,我想知道关于react上下文的好模式 让我们获得一个公共库,例如,react intl,它公开了一个提供者(IntlProvider)。 让我们创建一个库barLib,它使用react intl在内部管理翻译,还公开了一个提供者。 现在让我们想象一下,我创建了一个web应用程序,并同时使用barLib和react intl 我不希望barLib会覆盖我的react intl上下文,因为我不知道它在内部使用react intllib。 但是barLib可能会意外地覆盖react intl cont
react intl
,它公开了一个提供者(IntlProvider)。
让我们创建一个库barLib
,它使用react intl
在内部管理翻译,还公开了一个提供者。
现在让我们想象一下,我创建了一个web应用程序,并同时使用barLib
和react intl
我不希望barLib
会覆盖我的react intl上下文,因为我不知道它在内部使用react intl
lib。
但是barLib
可能会意外地覆盖react intl context=>
这打破了libs IMO的孤立性
我看到了几种解决方案:
- 不要在
barLib
中使用其他库上下文(非常极端)
- 检查
barLib
中是否已存在intl上下文,如果已存在,是否合并上下文值
我对这两种解决方案都不满意,你们对此有何看法?在给出更多想法后。我认为您应该将react intl
库标记为barLib
中的对等依赖项,并记录要使用barLib,需要将其包装在react intl
上下文中
总之,如果您想在库中使用上下文,只需将其设置为对等依赖项,在给出更多想法后,不要将提供者放入其中。我认为您应该将react intl
库标记为barLib
中的对等依赖项,并记录要使用barLib,需要将其包装在react intl
上下文中
总之,如果您想在库中使用上下文,只需将其设置为对等依赖项,而不要将提供者放在其中