Я пытаюсь создать динамический ящик, у меня есть StackItens (маршруты), такие как:
import React from 'react';
import Home from '../screens/home/Index';
import ATR from '../screens/atr/Index';
const stackNavigItems = [
{
group: 'Home',
name: 'Home',
component: Home,
icon: 'home',
iconType: 'FontAwesome',
label: 'Principal',
hideMenu: false,
screenComponent: props => {
return <Home {...props} />;
},
},
{
group: 'Home',
name: 'ATR',
component: ATR,
icon: 'book',
iconType: 'Ionicons',
label: 'ATR',
hideMenu: false,
screenComponent: props => {
return <ATR {...props} />;
},
},
];
export {stackNavigItems};
И в моем содержимом ящика я отображаю эти элементы и отлично работаю. Но когда я отображаю те же элементы внутри навигатора, используя этот код:
<PaperProvider theme={theme}>
<AuthContext.Provider value={authContext}>
<NavigationContainer theme={theme}>
<Drawer.Navigator drawerContent={props => <DrawerContent {...props} />}>
{stackNavigItems.map(r => {
return (
<Drawer.Screen
key={r.name}
name={r.name}
component={({navigation}) => (
<Stack.Navigator
initialRouteName="Home"
headerMode="screen"
screenOptions={screenOptions}>
<Stack.Screen
name={r.name}
component={props => <r.screenComponent {...props} />}
options={{
title: r.label,
headerLeft: () => (
<Icon.Button
name="ios-menu"
size={IconStyles.size}
backgroundColor={AppStyles.color.main}
onPress={() => {
navigation.openDrawer();
}}
/>
),
}}
/>
</Stack.Navigator>
)}
/>
);
})}
</Drawer.Navigator>
</NavigationContainer>
</AuthContext.Provider>
</PaperProvider>
Приложение всегда показывает мне это предупреждение, а заголовок в два раза больше:
Я пробовал так много способов передать функцию () перед компонентом, но ничего не работает. Если я отключу предупреждение, приложение будет работать без отображения предупреждения, но иногда размер заголовка удваивается при использовании, как на картинке.