如何在React Native中导航到Webview事件的另一个视图?

时间:2017-08-08 15:49:38

标签: javascript react-native webview react-native-android react-native-ios

我正在使用 react-native-webview-messaging 从网络视图中获取活动。

当事件被触发时,我设法改变状态但我无法导航到新视图。

这就是我的所作所为:

componentDidMount() {

    const { messagesChannel } = this.webview;

    messagesChannel.on('json', json => this.setState({
        message: json,

    }, () => {

        return (
            <GoToThisView />
        );

    }));

  }

所以我的状态更改为我从webview获得的JSON,但return语句没有打开新页面。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果您在应用中使用StackNavigator,则可以直接使用导航(&#39; screen_name&#39;)导航到所需的屏幕。返回与渲染一起使用。

isBottom(el) {
  return el.getBoundingClientRect().bottom <= window.innerHeight;
}

componentDidMount() {
  document.addEventListener('scroll', this.trackScrolling);
}

componentWillUnmount() {
  document.removeEventListener('scroll', this.trackScrolling);
}

trackScrolling = () => {
  const wrappedElement = document.getElementById('header');
  if (this.isBottom(wrappedElement)) {
    console.log('header bottom reached');
    document.removeEventListener('scroll', this.trackScrolling);
  }
};

屏幕名称&#39; GoToThisView&#39;必须已经定义。