Как я могу передать реквизиты в stackNavigator в React-Native?

Я сделал компонент контроллера входа в систему, затем передал в него свой stackNavigator, моя проблема в том, что я должен передать токен jwt на экраны, но я не могу получить доступ к "this.state.jwt"

Я знаю, что есть знакомые вопросы, но я просто не мог уложить в голове ответы.

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)

Как-то я должен сделать это: Home jwt = {this.state.jw} и сделать это для всех остальных нижних экрановNavigator

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
34
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

извините, недостаточно очков для комментария, я вижу, вы передаете его как screenProp, если вы измените свой screenProps на

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

у вас есть доступ к вашим экранам, делающим this.props.screenProps.jwt?

Спасибо, я изменил его на this.props.screenProps.jwt, и он работает. Ваше здоровье!

mrkkrly 27.05.2019 08:18

Другие вопросы по теме