【发布时间】:2023-03-15 12:40:01
【问题描述】:
我正在开发一个将针对不同国家/地区推出的 React 应用程序。在每个国家/地区,某些组件将相同,但其他组件将有所不同。
即
France will have
- Component A
- Component B
- Component C
Germany will have
- Component A
- Component D
因此,两个网站共享相似的组件,但其中一些是独一无二的。
我们使用全局环境变量来告诉加载哪个站点。 (en、fr 等)
值得一提的是,所有网站的 URL 都应该相同(上面的变量应该告诉应用程序显示哪个组件)
处理这种组件差异的最佳方法是什么?
直到今天我想出的想法:
- 为每个国家/地区创建一个站点。 (大问题,因为太多 DRY。共享的组件很多)
- 条件渲染(感觉很hacky,因为有几个国家,导致无穷无尽的
ifelse) - 返回父容器组件内所有组件的高阶组件(感觉不错,但不想重新发明轮子,想先在这里问)
是否有 NPM 包可以帮助我将其存档?
我应该从头开始吗?
非常感谢。
【问题讨论】:
-
您的前 2 个选项对于 SO 的答案来说过于宽泛,而您的第 3 个选项本质上是在寻求外部资源,这两者都是结束问题的原因。如果您有更具体的问题,您可能需要进行更多的自我研究,或者尝试一些事情,然后提出一个新问题。
-
感谢您回答@TimLewis,同意这一点。我想过在软件工程中提问。但由于问题是与反应相关的,软件工程感觉问的范围很广,但堆栈溢出的范围很窄。
-
不确定他们是否能提供帮助;我认为 SE 网站上的密切原因非常相似。我喜欢选项 3 的声音,你可以寻找可用于 react 的本地化插件。
-
这可能由于更多基于意见而关闭,因此我将添加评论而不是回答。这似乎是服务器端渲染的好案例。另一种选择而不是 HOC 可能是考虑创建一个自定义挂钩来处理条件渲染。
-
标签: javascript reactjs multilingual conditional-rendering