Текущая версия React Navigation имеет API статической конфигурации, что означает, что все настройки должны выполняться вне рендера.Это делает невозможным использование вариантов, таких как динамические навигаторы, до React Navigation 4.
React Navigation 5 имеет новый API-интерфейс на основе компонентов для настройки навигаторов, который делает возможными динамические навигаторы:
import { createDrawerNavigator } from '@react-navigation/drawer';
const Drawer = createDrawerNavigator();
export default function DrawerScreen() {
const [categories, setCategories] = React.useState([
'Category1',
'Category2',
'Category3',
]);
return (
<Drawer.Navigator>
{categories.map(category => (
<Drawer.Screen name={category} component={MyComponent} />
))}
</Drawer.Navigator>
);
}
Документация: https://reactnavigation.org/next
Имейте в виду, что React Navigation 5 все еще находится в альфа-режиме.