Reactjs react是否有“应用程序”的概念,或者它只是一个组件?如何使事物全球化?

Reactjs react是否有“应用程序”的概念,或者它只是一个组件?如何使事物全球化?,reactjs,Reactjs,我对创建一个mixin/decorator很感兴趣,但我不想在使用它的每个组件下声明它,但它在应用程序中的任何地方都可用 那是存在于反应中的东西吗?我可以创建在整个应用程序上下文中自动可用的标记吗 analytics/i18n库在react中如何工作?您是否必须在需要翻译或跟踪的每个文件中导入它们 这里是新手。在React中可以像在其他框架中一样使用globals,但这并不是真正的“React方式”。与此相关的是,React中的“app”等价物只是顶级的根组件 与其依赖globals,不如在自己

我对创建一个mixin/decorator很感兴趣,但我不想在使用它的每个组件下声明它,但它在应用程序中的任何地方都可用

那是存在于反应中的东西吗?我可以创建在整个应用程序上下文中自动可用的标记吗

analytics/i18n库在react中如何工作?您是否必须在需要翻译或跟踪的每个文件中导入它们


这里是新手。

在React中可以像在其他框架中一样使用globals,但这并不是真正的“React方式”。与此相关的是,React中的“app”等价物只是顶级的根组件

与其依赖globals,不如在自己的组件文件中导入/需要所需的模块;或者,将所需的函数和值从父组件传递给子组件

要实现第一种方法,需要像Webpack或Browserify这样的绑定器。因此,例如,如果想要使用像Jed这样的i18n Gettext模块,可以实例化它并将其导出到一个文件中,然后在需要它的任何组件文件中导入或需要它

至于第二种方法,可以将道具从父对象传递给子对象,或者使用上下文。虽然道具需要手动传递,但上下文总是传递到整个子树

在上一个示例中,您可以将Jed函数放在上下文中,但React团队确实发出警告:如果必须使用上下文,请谨慎使用,同样,正如编写清晰代码时最好避免使用全局变量一样,在大多数情况下应避免使用上下文