React Native自动导航到另一个屏幕

时间:2020-07-21 20:20:44

标签: react-native components

一旦尝试注销logout.js,我正尝试导航回“登录”屏幕。

这一点似乎奏效了,然后停止了,我不知道为什么。

这是我的代码:

import React, { Component } from 'react';
import { Text, View, Button } from 'react-native';
import * as SecureStore from 'expo-secure-store';
import { globalStyles } from '../styles/global';

export default class App extends Component {
 
  componentDidMount() {
    (async () => {
       const token = await SecureStore.getItemAsync('token');
       // Your fetch code
       this.setState({loaded:false, error: null});
       let url = 'https://www.example.com/api/auth/logout';
       let h = new Headers();
       h.append('Authorization', `Bearer ${token}`);
       h.append('Content-Type', 'application/json');
       h.append('X-Requested-With', 'XMLHttpRequest');    
       let req = new Request(url, {
        headers: h,
        method: 'GET'
       });
       fetch(req)
       .then(response=>response.json())
       //.then(this.showData)
       .catch(this.badStuff)
    })();
    this.deleteToken()
  }

  badStuff = (err) => {
    this.setState({loaded: true, error: err.message});
  }

  deleteToken() {
    (async () => {
      const token = await SecureStore.deleteItemAsync('token')
    });
    this.goToLogInScreen()
  }

  goToLogInScreen() {
    this.props.navigation.navigate('LogIn')
  }

  render() {
    return (
      <View style={globalStyles.container}>
        <Button
          title="Go to Details"
          onPress={() => this.props.navigation.navigate('LogIn')}
        />
      </View>
    );
} 


}

我需要代码来: 将命令发送到API以注销 从SecureStore删除令牌 导航到“登录”屏幕(包含登录表单)。

0 个答案:

没有答案