【问题标题】:Turbolinks does not work with react-native webviewTurbolinks 不适用于 react-native webview
【发布时间】: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


【解决方案1】:

turbolinks 团队似乎正在使用 turbolinks-iosturbolinks-android 进行原生集成。

【讨论】:

【解决方案2】:

好消息是我已经尝试了与 Turbolinks 5 相同的 react-native 代码,并且 onNavigationStateChange 正在工作。事实上,我使用的所有东西似乎都适用于 react-native。

【讨论】:

    猜你喜欢
    • 2021-09-26
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 2018-12-24
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    相关资源
    最近更新 更多