首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在React导航-3中设置app容器?

如何在React导航-3中设置app容器?
EN

Stack Overflow用户
提问于 2019-02-15 13:24:15
回答 2查看 3.2K关注 0票数 3

我想以initialProps的形式从本地android发送数据以作出反应,但问题是在react-navigation中使用StackNavigator

这是解决方案(从这里得到帮助),它将在react-navigation的早期版本中工作,该版本用于将initialProps从本机发送到第一幕的react本机:

代码语言:javascript
复制
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开始,您必须直接设置app容器。

有人能告诉我如何使用createAppContainer()实现这个目标吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-15 13:44:53

作为一个样本,来自我自己的一个项目:

代码语言:javascript
复制
import {
  createSwitchNavigator,
  createAppContainer
} from 'react-navigation';

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

class App extends Component {
  render() {
    return (<AppContainer />);
  }
}
票数 3
EN

Stack Overflow用户

发布于 2019-02-15 14:14:38

多亏了@David Gevorgyan,我成功地将initialProps从本地android发送到了StackNavigator的第一个场景:

代码语言:javascript
复制
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',
    }
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54710312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档