【发布时间】:2016-05-05 23:22:09
【问题描述】:
我正在构建一个混合 react-native + ruby on rails 应用程序。我在WebView 组件中使用onNavigationStateChange 来检测页面中的更改,并使用它来更改react-native 导航菜单。这很好用,但是当我尝试使用turbolinks 时,页面可能会发生变化,但不会触发onNavigationStateChange。
onNavigationStateChange 被触发的代码如下
render() {
return (
<WebView
ref={'webview'}
automaticallyAdjustContentInsets={false}
source={{uri: SETTINGS_URL}}
javaScriptEnabled={true}
onNavigationStateChange={this.props.onNavigationStateChange}
startInLoadingState={true}
scalesPageToFit={true}
/>
)
}
这工作正常,但如果我打开 turbolinks,在 ROR 应用程序中,onNavigationStateChange 不再触发。
我该如何解决这个问题?
【问题讨论】:
-
你的代码怎么样?如何触发
onNavStateChange? -
turbolinks已知在大多数 javascript 前端框架中存在问题(这里不要引用我的话)。最好删除所有turbolinks附属代码。每当我使用rails和前端框架时,我都会将其删除,一切仍将按预期运行。除非您对turbolinks有特殊需求,否则我会将其删除。 -
已添加代码 sn-p 以响应 /7urkm3n 评论
标签: ruby-on-rails webview react-native turbolinks