В React Native для получения props вашего компонента в navigationOptions
, есть несколько способов. Первый способ - это использовать функцию navigationOptions
внутри вашего компонента и передать ей доступ к navigation
, который содержит все необходимые данные о маршруте, включая props.
Вот пример:
import React from 'react'; import { View, Text } from 'react-native'; class MyComponent extends React.Component { static navigationOptions = ({ navigation }) => { const { params } = navigation.state; return { title: params ? params.title : 'Default Title', }; }; render() { return ( <View> <Text>Hello, world!</Text> </View> ); } } export default MyComponent;
В этом примере, мы определяем navigationOptions
как функцию внутри класса MyComponent
. Внутри этой функции, у нас есть доступ к объекту navigation
, который содержит все необходимые данные о маршруте. Мы можем получить params
из navigation.state
и использовать их для динамического установления заголовка в зависимости от переданных props в компонент.
Если вы хотите использовать props компонента напрямую, вы можете передать их в качестве параметров в функцию navigationOptions
. Вот пример:
import React from 'react'; import { View, Text } from 'react-native'; class MyComponent extends React.Component { static navigationOptions = ({ navigation, navigationOptions }) => { const { params } = navigation.state; return { title: params ? params.title : navigationOptions.title, }; }; render() { return ( <View> <Text>Hello, world!</Text> </View> ); } } export default MyComponent;
В этом примере, мы передаем navigationOptions
в navigationOptions
как второй параметр. Это позволяет нам также использовать значения, заданные по умолчанию для всех навигационных параметров.