В настоящее время я работаю над проектом React Native для Android. Теперь я создал TabNavigator, используя React Navigations createMaterialTopTabNavigator
, который отображает две вкладки:
![enter image description here](https://i.stack.imgur.com/O7h1o.png)
Было бы неплохо использовать этот TabNavigator в качестве повторно используемого компонента , Поэтому я пытаюсь передать реквизиты от компонента, который вызывает навигатор. К сожалению, я не могу понять, как правильно передать реквизит.
Это компонент, который вызывает TabNavigator (здесь он называется TwoTabsHorizontal
):
import React from 'react';
import {View, StyleSheet} from 'react-native';
import {withNavigation} from 'react-navigation';
import Background from '../../atoms/Background/Background';
import TwoTabsHorizontal from '../../molecules/TwoTabsHorizontal/TwoTabsHorizontal';
class Main extends React.Component {
render() {
return (
<View style={styles.view}>
<Background background={true} title="Find Dogs" />
<TwoTabsHorizontal
headingLeftTab="criteria"
headingRightTab="names"
/>
</View>
);
}
}
const styles = StyleSheet.create({
view: {
backgroundColor: '#151414',
height: '100%',
},
});
export default withNavigation(Main);
И это TabNavigator TwoTabsHorizontal
:
import React from 'react';
import {View, StyleSheet} from 'react-native';
import {createMaterialTopTabNavigator} from 'react-navigation-tabs';
import {createAppContainer} from 'react-navigation';
import TestScreen1 from '../../../screens/TestScreen1';
import TestScreen2 from '../../../screens/TestScreen2';
const TabNavigator = ({headingLeftTab}) =>
createMaterialTopTabNavigator(
{
One: {
screen: TestScreen1,
navigationOptions: {
tabBarLabel: {headingLeftTab},
},
},
Two: {
screen: TestScreen2,
navigationOptions: {
tabBarLabel: 'Names',
},
},
},
{
},
);
export const TwoTabsHorizontal = createAppContainer(TabNavigator);
Как Вы видите, я пытаюсь передать реквизит headingLeftTab
с Main
до TwoTabsHorizontal
, чтобы использовать его в качестве метки в navigationOptions
. Это дает следующую ошибку:
![enter image description here](https://i.stack.imgur.com/qsSph.png)
Я уже попробовал подход, который предлагается здесь .