首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在React-Native中将道具传递到stackNavigator?

如何在React-Native中将道具传递到stackNavigator?
EN

Stack Overflow用户
提问于 2019-05-26 23:51:00
回答 1查看 34关注 0票数 0

我创建了一个登录控制器组件,然后将我的stackNavigator传入其中,我的问题是我应该将jwt token传递到屏幕中,但是我不能访问"this.state.jwt“。

我知道有些熟悉的问题,但我就是想不通答案。

代码语言:javascript
复制
export default class App extends Component {
  constructor() {
    super();
    this.state = {
      jwt: '',
      loading: true
    }

    this.newJWT = this.newJWT.bind(this);
    this.deleteJWT = deviceStorage.deleteJWT.bind(this);
    this.loadJWT = deviceStorage.loadJWT.bind(this);
    this.loadJWT();
  }

  newJWT(jwt){
    this.setState({
      jwt: jwt
    });
  }

  render() {
    if (this.state.loading) {
      this.deleteJWT()
      return (
        <Loading size={'large'} />
       );
    } else if (!this.state.jwt) {
      return (
        <Auth newJWT={this.newJWT} />
      );
    } else if (this.state.jwt) {
      return (
        <RootNav screenProps={this.state.jwt} />
      );
    }
  }
}

const BottomNaviagtor = createBottomTabNavigator ({

  Home: Home,
  Top: Top,
  Following: {screen: Following},
  LikeD: {screen:Liked}
})

const RootNav = createAppContainer(BottomNaviagtor)

不知何故,我应该这样做:主页jwt={this.state.jw},并对所有其他bottomNavigator屏幕执行此操作

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-27 00:38:51

对不起,没有足够的要点来评论,我看到您正在将其作为screenProp传递,如果您将您的screenProps修改为

screenProps={{ jwt: this.state.jwt}}

你可以在你的屏幕上访问this.props.screenProps.jwt吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56315066

复制
相关文章

相似问题

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