Передача данных асинхронного хранилища для реагирования компонента панели навигации

У меня есть некоторые данные профиля, такие как имя, адрес электронной почты и номер мобильного телефона, в моем ящике приложений в моем собственном приложении реакции. Я хочу передать данные в компонент настраиваемого ящика приложений, когда пользователь входит в систему из асинхронного хранилища. В основном проблема заключается в передаче данных асинхронного хранилища функциональному компоненту.

const AppDrawerNavigator = createDrawerNavigator ({
  Home: {
    screen : Maps,
    navigationOptions: () => ({
      title: `Search by`
    })
  },
  Vendor: {
    screen: HomeScreen,
    navigationOptions: () => ({
      title: `Vendor List`,
    })
  },
  Notifications: NotificationsScreen,
  Events: SearchDetails,
  Venue : {
    screen: SearchScreen,
    navigationOptions: () => ({
      title: `Venue Availability`,
    })
  },
  Settings: {
    screen: SettingsScreen
  }
}, {
  drawerPosition: 'left',
  contentComponent: customDrawerContentComponent,
  drawerOpenRoute: 'DrawerOpen',
  drawerCloseRoure: 'DrawerClose',
  drawerToggleRoute: 'DrawerToggle',
  drawerWidth: 320,
  contentOptions: {
    activeTintColor: '#fff',
    inactiveTintColor: '#030303',
    activeBackgroundColor: '#B90066',
    inactiveBackgroundColor: '#fff',
    itemsContainerStyle: {
      marginHorizontal: 10
    },
    itemStyle: {
      height: 40,
      borderRadius: 60,
    },
    activeLabelStyle: {
      fontSize: 20, 
      fontWeight: 'normal'
    }
  }
  })
  
  const AppSwitchNavigator = createSwitchNavigator({
  AuthLoadingScreen: AuthLoadingScreen,
  Auth: AuthStackNavigator,
  App: {
    screen: AppDrawerNavigator
  }
})


const WeTaAppDrawer = createAppContainer(AppSwitchNavigator)

export default class App extends Component {
  render() {
    return <WeTaAppDrawer />
  }
}

Какой у Вас вопрос?

user3637541 15.01.2019 11:58

Как я могу передать имя пользователя, адрес электронной почты и т. д. В этот компонент ящика? Это мой вопрос.

Tanmoy Sarker 15.01.2019 12:01

Зачем вам нужно передавать данные в настраиваемое содержимое ящика .... У вас может быть доступ к хранилищу в своем ящике

Sarmad Shah 15.01.2019 12:16

Можете ли вы показать мне, как я могу передать данные в компонент выдвижного ящика, получив доступ к хранилищу ящика? @Sarmad

Tanmoy Sarker 15.01.2019 12:23

Вы используете AsyncStorage?

Sarmad Shah 15.01.2019 12:26

Да я @Sarmad

Tanmoy Sarker 15.01.2019 12:35
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
6
1 286
1

Ответы 1

Вы можете использовать componentDidMount в компоненте customDrawerContentComponent и получать данные пользователя из asyncStorage, например

async componentDidMount(){
  const user = await AsyncStroage.getItem('user);
  this.setState({ user });
}

тогда вы можете использовать состояние в своем методе рендеринга

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