Я довольно новичок в React native, и я купил шаблон под названием Sketch Elements, чтобы начать работу, который использует Flow для проверки типов.
https://react-native.shop/elements
Я хотел бы передать параметр во время навигации, однако параметр всегда не определен.
Это мой код в моем первом компоненте - я хотел бы перейти к компоненту navigationTo (в данном случае к фотографиям), передавая объект уровня
navigate(navigateTo: string, level: object) {
const { navigation } = this.props;
navigation.navigate(navigateTo, { level });
}
Мой другой компонент выглядит следующим образом, журнал консоли всегда возвращает значение undefined. Просматривая другие примеры, это выглядит идентично тому, что было достигнуто ранее, но я явно что-то упускаю.
type PhotosProps = NavigationProps<> & {
level: object
};
export default class Photos extends React.Component<NavigationProps<PhotosProps>> {
render(): React.Node {
const { navigation } = this.props;
console.log( navigation.state.params);
return null;
}
}
Любая помощь будет очень высоко ценится.
level
перед выполнениемnavigation.navigate(navigateTo, { level });
, чтобы убедиться, что она там не определена? 16.12.2018navigation.state
без параметров) в методе рендеринга фотографий? Также попробуйте зарегистрировать его в компоненте componentDidMount для хорошей меры. 16.12.2018react-navigation
вы используете? 16.12.2018[email protected]
. Так что не уверен, может это баг. Попробуйте обновиться до последней версии. Вы можете проверить последнюю версию любого пакета, запустивnpm show <package_name
. 16.12.2018navigation
в своем компоненте, оно определенно должно работать. Возможно, попробуйте настроить несколько параметров по умолчанию и посмотреть, сможете ли вы извлечь их из навигации? reactnavigation.org/docs/en/stack-navigator.html#params Однако я не уверен в степени полезности этого, но вы, по крайней мере, сможете убедиться, что вообще можете получить доступ к любым параметрам. 16.12.2018