Не могу найти переменную: DrawerActions - PullRequest
0 голосов
/ 05 февраля 2019

Я очень новичок в реакции-родной.Я делаю пример приложения с навигацией по ящикам и стековой навигацией.Я получаю ошибку снова и снова в коде ящика в кнопке ящика.Как мне открыть и закрыть свой ящик?Я пытался много искать в интернете.И попробовал все, что я получил.Но ничего не помогло.Любая помощь приветствуется.Я написал следующий код:

import React, {Component} from 'react';
import {createDrawerNavigator, createStackNavigator, createAppContainer} from 'react-navigation';
import {TouchableOpacity, Text} from 'react-native';
import Signup from './Screens/Signup'; 
import SignIn from './Screens/SignIn';
import TradeType from './Screens/TradeType';
import SState from './Screens/SState';
import IState from './Screens/IState';
import Result from './Screens/Result';
import Home from './Screens/Home';
import DrawerTbl from './Screens/DrawerTbl';

export const Drawer = createDrawerNavigator({
  SignIn: {screen: SignIn},
  Home: {screen: Home},
}, {
  initialRouteName: 'SignIn',
  contentComponent: 'DrawerTbl',
  drawerWidth: 300
});

export const Stack = createStackNavigator({
  SignIn: {screen: SignIn,
  navigationOptions: ({navigation}) => ({
     headerLeft:(
        <TouchableOpacity onPress={() => navigation.dispatch(DrawerActions.toggleDrawer())}>
          <Text>Drawer</Text>
        </TouchableOpacity>
     ),
   })
 },
   Signup: {screen: Signup},
   Home: { screen: Home },
   Drawer: { screen: Drawer },
   DrawerTbl: { screen: DrawerTbl },
   Trade: { screen: TradeType },
   SState: { screen: SState },
   IState: { screen: IState },
   Result: { screen: Result } 
 },
 {
    initialRouteName: "SignIn",
 });

const AppC = createAppContainer(Stack);

class App extends Component {
  render() {
    return(
     <AppC/>
    );
  }
}

export default App;

Я получаю следующую ошибку: Не могу найти переменную: 'DrawerActions'.

Try1:

navigationOptions: ({navigation}) => ({
  headerLeft:(
    <TouchableOpacity onPress={() => navigation.toggleDrawer()}>
      <Text>Drawer</Text>
    </TouchableOpacity>
  ),
})

Ошибка:

Undefined is not a function(evaluating'navigation.toggleDrawer()')  

Try2:

this.props.navigation.openDrawer()  

Ошибка также в этом.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Для вас DrawerActions вы должны сначала импортировать DrawerActions из реагирующей навигации.Для React Navigation 3.x

импортировать {DrawerActions} из 'Reaction-Navigation-Box';

this.props.navigation.dispatch (DrawerActions.toggleDrawer ())

Ты в порядке!

0 голосов
/ 05 февраля 2019

ты забыл

import { DrawerActions } from 'react-navigation'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...