加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reactjs – 从webview重定向到ReactNative组件

发布时间:2020-12-15 20:15:04 所属栏目:百科 来源:网络整理
导读:我正在使用反应原生WebView打开一些复杂的表单步骤.我希望app用户在完成WebView中的最后一步( http://example.com/completed/)后重定向Android应用主页(反应本机组件). 解决方法 我已经解决了这个问题: _onLoad(state) { //I check the url to see if every
我正在使用反应原生WebView打开一些复杂的表单步骤.我希望app用户在完成WebView中的最后一步( http://example.com/completed/)后重定向Android应用主页(反应本机组件).

解决方法

我已经解决了这个问题:

_onLoad(state) {
    //I check the url to see if everything goes right
    if (state.url.indexOf(BASEURL + '/auth/success') != -1) {
      let token = state.url.split("token=")[1];
      token = token.substring(0,token.length - 4);
      //Here I'm caming back
      NavigationsActions.back();
      //In your case you might do something like this:
      NavigationsActions.replaceRoute({
          id: 'your route id'
      });
      SessionActions.setSession(token);
    }
}

我找到了一个很棒的教程,这有助于我理解它是如何工作的here.

在这里你有我的整个组件的样子:

import React,{ Component } from 'react';
import {
  StyleSheet,WebView,Text
} from 'react-native';
import NavigationsActions from '../../actions/NavigationsActions';
import NavigationConstants from '../../constants/NavigationConstants';
import RouteConstants from '../../constants/RouteConstants';
import SessionActions from '../../actions/SessionActions';

var BASEURL = 'http://localhost:8080';

class FacebookLogIn extends Component {
  render() {
    return (
      <WebView onNavigationStateChange={this._onLoad} style={styles.container} source={{ uri: BASEURL + '/auth/facebook' }}/>
    );
  }

  _onLoad(state) {
    console.log(state.url);
    if (state.url.indexOf(BASEURL + '/auth/success') != -1) {
      let token = state.url.split("token=")[1];
      token = token.substring(0,token.length - 4);
      NavigationsActions.back();
      SessionActions.setSession(token);
    }
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1
  }
});

module.exports = FacebookLogIn;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读