我正在尝试使用React Native编写基本的身份验证屏幕。

一旦用户登录,它将被重定向到其主屏幕。

为此,我使用了StackNavigator,如下所示:

import React, { Component } from 'react';
import { StackNavigator } from 'react-navigation';

import LoginPage from './src/pages/login';

const MyApp = StackNavigator({
  Login: { screen: LoginPage },
  Home: { home: HomePage }
});

export default MyApp;


但是我想在这里操作一些逻辑(例如DB init)。由于这是一个纯粹的组成部分,我有点迷失了……

我应该如何进行?例如,是否可以将StackNavigator“转换”为具有生命周期功能的组件?

最佳答案

您可以通过以下方式使Stacknavigator对象成为React.Component

const MyAppStack = StackNavigator({
  Login: { screen: LoginPage },
  Home: { home: HomePage }
});

class MyApp extends Component {
  componentWillMount() {}
  componentWillUnmount() {}

  render() {
    return <MyAppStack />;
  }
}

07-27 13:40