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



我想从本机android到react-native将数据发送为initialProps,但是问题是我使用StackNavigator

react-navigation

这是解决方案(从这里获得帮助)它将用于以前版本的react-navigation,用于从本机到第一个现场将initialProps发送到一个反应的现场:

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',
    }
);

相关内容

  • 没有找到相关文章

最新更新