Реагировать на собственную пользовательскую навигацию по Drawer - PullRequest
0 голосов
/ 06 сентября 2018

Я создал Custom DrawerNavigator. Все на месте. Но я не могу перемещаться между экранами. Я не знаю, как ориентироваться, поэтому я следую инструкциям на
https://github.com/kakulgupta/CustomDrawer/tree/master/app. Но это не помогло

import React,{Component} from 'react'
import {Text,View,StyleSheet,Image,NavigationActions} from 'react-native'
import {Icon,Container,Header,Content,Left} from 'native-base'

export default class Head extends Component{

        navigateToScreen = (route) =>()=>{
            const navAction = NavigationActions.navigate({
                routeName:route
            })

            this.props.navigation.dispatch(navAction)
        }

        render(){
            return (
                <View>
                    <View style={styles.image}>
                            <Image
                                style={{height:200,
                                                width:90,
                                                marginLeft:'30%',
                                                marginRight:'30%',
                                                marginTop:'15%',
                                                alignContent:'center',
                                                alignItems:'center'
                                            }}
                                source={require('./../images/logo.png')}
                                />

                    </View>
                    <View style={styles.menu}>
                        <View style={styles.box} >
                            <Icon name="person" />
                            <Text style={styles.boxText} onPress={this.navigateToScreen("Login")}>Login</Text>
                        </View>
                    </View>
                </View>
            )
        }
}

А мой app.js

import React, {Component} from 'react';
import {DrawerNavigator} from 'react-navigation'

import Login from './src/Login/login.js'

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


const Links = DrawerNavigator({
                                Login:{screen:Login},
                            },{contentComponent:props => <Slider {...props}/>
                            })

package.json

  "dependencies": {
    "native-base": "^2.8.0",
    "react": "^16.4.1",
    "react-native": "^0.55.4",
    "react-navigation": "^2.12.1"
  },

И ошибка

undefined не является объектом (оценка '_ReactNative.NavigationActions.navigate')

Любая помощь, пожалуйста.

1 Ответ

0 голосов
/ 07 сентября 2018

Вы импортировали NavigationActions из неправильного места, вам нужно импортировать его из react-navigation

import {NavigationActions} from 'react-navigation'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...