从javascript

时间:2019-03-07 09:46:29

标签: javascript reactjs

我有一个问题,因为我不确定是否可能。我有一个ReactJS项目,其中包含一些javascript函数。

我找到了具有 window 对象的call javascript function from react components解决方案,但是可以从JavaScript脚本中的reactcomponents调用函数吗?

例如,我在React组件中定义了功能。可以在javascript中调用该函数吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

应该在React应用程序包外部使用的功能应公开给全局范围:

window.foo = () => { /* ... */ };

然后可以这样访问它:

<script src="react-app-bundle.js"></script>
<script>
foo();
</script>

如果React应用程序捆绑发布为UMD模块,它可以在入口点导出功能:

export const foo = () => { /* ... */ };

通过<script>加载时,其命名空间将公开给全局范围:

<script src="react-app-bundle.js"></script>
<script>
ReactAppNamespace.foo();
</script>

许多第三方React库就是这种情况,React本身公开了React全局。

最好将所有依赖于React应用程序内部的代码放到应用程序本身,因此不需要访问全局变量。