在我的 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/