Это обычная проблема с React, особенно если вы не понимаете новейший стандарт JS (например, ES6, который используется React).
Итак, ваша проблема здесь концептуальная. Компоненты React получают один объект с именем props
, который содержит все файлы props
. Обычно вы используете форму деконструкции, чтобы напрямую получить некоторые атрибуты props. В этом случае вы хотите иметь props.navigation
.
Вы можете деконструировать объект props в аргументах стрелочной функции, это то, что говорится в документации, с ({navigation}) => ...
вместо (navigation) => ...
Это то же самое, что использовать (props) => ...
, а затем props.navigation
Вам также нужно будет изменить функцию onPress. Использование блока {...}
в стрелочной функции ничего не вернет, если вы не укажете return
. Если вы не оборачиваете функцию тела с помощью {...}
, то это то же самое, что писать { return ...}
. Итак, если вы хотите вернуть navigation.navigate('settings')
, вам нужно удалить окружающий {...}
или написать return внутри.
static navigationOptions = ({navigation}) => {
return {
title: 'Review Jobs',
headerRight: (<Title onPress={()=> navigation.navigate('settings')}>Settings</Title>)
};
};
Кроме того, вы можете сделать то же самое с функцией navigationOptions:
static navigationOptions = ({navigation}) => ({
title: 'Review Jobs',
headerRight: (<Title onPress={() => navigation.navigate('settings')}> Settings </Title>),
});
person
javrd
schedule
20.10.2018