如何在 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',
}
);
我想将数据作为 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',
}
);