如何在 React-Navigation-3 中设置应用程序容器?

How to set up app container in React-Navigation-3?

我想将数据作为 initialProps 从 Native android 发送到 React-Native,但问题是 react-navigation,我在其中使用 StackNavigator

这就是解决方案 (got help from here) 这将在以前的 react-navigation 版本中工作,用于将 initialProps 从本机发送到 react-native 的第一个场景:

export default class AwesomeProject extends Component {
    constructor(props){
        super(props)
        console.warn(this.props.movie_id);
    }

    render() {
              return <RootStack screenProps={this.props.movie_id} />;
        }
}

const RootStack = createStackNavigator(
    { 
        home:  {screen: Details},
        genre: {screen: Genre},
    },
    { 
        initialRouteName: 'home',
    }
);

但是react-navigation-3开始,您必须直接设置应用程序容器。

谁能告诉我如何使用 createAppContainer() 实现此目的?

作为示例,来自我自己的一个项目:

import {
  createSwitchNavigator,
  createAppContainer
} from 'react-navigation';

const SwitchNavigator = createSwitchNavigator(
  {
    ScreenOne,
    ScreenTwo,
    ScreenThree
  }
);
const AppContainer = createAppContainer(SwitchNavigator);

class App extends Component {
  render() {
    return (<AppContainer />);
  }
}

感谢@David Gevorgyan,我成功地将 initialProps 从本地 android 发送到 react-native 的第一个 StackNavigator 场景,如下所示:

export default class AwesomeProject extends Component {
    constructor(props){
        super(props)
    }

    render() {
    return <RootStack screenProps={this.props.movie_id} />;
  }
}

const RootStack = createAppContainer(StackNavigator)

const StackNavigator = createStackNavigator(
    { 
        home:  {screen: Details},
        genre: {screen: Genre},
    },
    { 
        initialRouteName: 'home',
    }
);