javascript - 如何在导航到 React 'page' 后运行 JavaScript 函数

标签 javascript reactjs

在我的 react 表单加载完成后,我需要运行一个简单的java脚本函数。 JS 是从第 3 方加载的,因此我无法控制它,我需要运行它的其中一个函数才能使验证码部分出现在我的表单中。如果我按 F5,则该区域会按预期显示,但通过应用程序中的路线导航到该页面不会触发加载。

我已经弄清楚,如果我调用这行 JS

window.__challenger.callPageRequest();

然后出现验证码区域,我知道这是有效的,因为我向正在渲染的表单添加了一个临时按钮,并在单击按钮时调用函数。但我不能有一些随机按钮,我需要在每次导航到表单时触发此 JS 行。

我尝试过使用:

componentDidMount() {
    window.__challenger.callPageRequest();
}

但这会提示:

无法读取未定义的属性“callPageRequest”

我尝试添加:

window.__challenger.callPageRequest();

到渲染方法中表单的末尾。

为什么这么简单的事情做起来这么难?任何帮助将不胜感激。

最佳答案

您确定在路由更改后,componentDidMount 正在运行吗?仅因参数不同而与其他路由不同的路由不会重新挂载。您可以尝试componentWillReceiveProps()相反,生命周期方法。

关于javascript - 如何在导航到 React 'page' 后运行 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49390204/

相关文章:

javascript - 谷歌日历 API v3 : events from a particular week

javascript - 优化 Jquery 动画

javascript - 相对于 .js 文件的 Angular 指令 templateUrl

javascript - 一起使用 http 请求、promise、ng-options 和工厂或服务

javascript - react Gatsby : implemented sequential fade-in animation for gallery but it doesn't work right after being deployed

ReactJS:如何杀死 `serve -s build`

javascript - React TypeScript 中 map 的 Highcharts 自定义数据?

javascript - 如何在Plumier中创建基于用户权限的可重用自定义授权

reactjs - 在 react 上加载数据时显示微调器

javascript - React 电子邮件验证中的正则表达式