Turbolinks 不适用于 react-native webview
Turbolinks does not work with react-native webview
我正在 rails 应用程序上构建一个混合的 react-native + ruby。我在 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
不再触发。
我该如何解决这个问题?
turbolinks 团队似乎正在开发本地集成,turbolinks-ios and turbolinks-android。
好消息是我已经用 Turbolinks 5 尝试了相同的 react-native 代码并且 onNavigationStateChange
正在运行。事实上,我使用的所有东西似乎都适用于 react-native。
我正在 rails 应用程序上构建一个混合的 react-native + ruby。我在 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
不再触发。
我该如何解决这个问题?
turbolinks 团队似乎正在开发本地集成,turbolinks-ios and turbolinks-android。
好消息是我已经用 Turbolinks 5 尝试了相同的 react-native 代码并且 onNavigationStateChange
正在运行。事实上,我使用的所有东西似乎都适用于 react-native。