React Native: невозможно прочитать свойство 'navigation' из неопределенного - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь сделать функцию onPress такой, чтобы при щелчке по значку меню открывалась навигация в моем ящике.Однако я получаю эту ошибку: Необработанное исключение JS: Не удается прочитать свойство 'навигация' из неопределенного.

Вот мой код для HeaderComponent.js

import React from 'react';
import { StyleSheet } from 'react-native';
import { Header, Left, Icon, Body, Title, Right } from 'native-base';

const HeaderComponent = (props) => {
const { menuIconStyle } = styles;

return (
    <Header>
        <Left>
            <Icon
                style={menuIconStyle}
                name="menu"
                onPress={() => this.props.navigation.openDrawer()}
            />
        </Left>
        <Body>
            <Title>{props.headerText}</Title>
        </Body>
        <Right>

        </Right>
    </Header>
);
}

export default HeaderComponent;

const styles = StyleSheet.create({
menuIconStyle: {
    paddingLeft: 15,
},
});

Буду признателен за решение.Спасибо!

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Ваш компонент - это не класс ES6, а функция.Таким образом, вы не можете использовать this.props, потому что он не существует.

onPress={() => props.navigation.openDrawer()}

используйте вместо этого.

0 голосов
/ 11 декабря 2018

Вы должны передавать навигационные реквизиты от родителя к ребенку, например:

<HeaderComponent navigation={this.props.navigation} />

, тогда вы можете использовать навигацию в своем дочернем компоненте

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