从 javascript 调用 React 组件函数

Dev*_*sta 5 javascript reactjs

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

我找到了使用window对象从 React 组件调用 javascript 函数的解决方案,但是是否可以在 javascript 脚本中从 ReactComponents 调用函数?

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

谢谢。

Est*_*ask 7

应该在 React 应用程序包外部使用的函数应该暴露在全局范围内:

window.foo = () => { /* ... */ };
Run Code Online (Sandbox Code Playgroud)

然后可以这样访问:

<script src="react-app-bundle.js"></script>
<script>
foo();
</script>
Run Code Online (Sandbox Code Playgroud)

如果 React 应用程序包作为 UMD 模块发布,它可以在入口点导出一个函数:

export const foo = () => { /* ... */ };
Run Code Online (Sandbox Code Playgroud)

当通过以下方式加载时,其名称空间将暴露于全局范围<script>

<script src="react-app-bundle.js"></script>
<script>
ReactAppNamespace.foo();
</script>
Run Code Online (Sandbox Code Playgroud)

很多第三方React库都是这种情况,React本身暴露了React全局的。

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