#react-native #react-navigation
#реагировать-родной #реагировать-навигация
Вопрос:
Не удается отправить какие-либо параметры с помощью react-navigation 5x. Пробовал все в документации. Не знаю, в чем дело.
Я поделюсь с вами всей структурой моего маршрута.
Мой ApplicationNavigator.js : Я использую содержимое ящика одновременно с навигатором панели вкладок. OrderNavigator — это tabnavigator, Dashboard — это stacknavigator.
const ApplicationNavigator = () => {
const [isApplicationLoaded, setIsApplicationLoaded] = useState(false)
const applicationIsLoading = useSelector((state) => state.startup.loading)
return (
<Drawer.Navigator
drawerStyle={{ width: '100%' }}
drawerContent={(props) => <DrawerContent {...props} />}
>
<Drawer.Screen name="Dashboard" component={DashboardNavigator} />
<Drawer.Screen name="Order" component={OrderNavigator} />
</Drawer.Navigator>
)
}
export default ApplicationNavigator
Мой OrderNavigator.js : Это моя вкладка.структура экрана.
const ScreenA = () => {
return (
.....
<Stack.Navigator>
<Stack.Screen
options={headerStyle_1}
name="Orders"
component={IndexOrderContainer}
/>
</Stack.Navigator>
)
}
const ScreenB = () => {
....
return (
<Stack.Navigator>
<Stack.Screen
options={headerStyle_1}
name="New Order"
component={AddOrderContainer}
/>
</Stack.Navigator>
)
}
const OrderNavigator = () => {
return (
<Tab.Navigator headerMode={'none'}>
<Tab.Screen name="OrderList" component={ScreenA} />
<Tab.Screen name="NewOrder" component={ScreenB} />
</Tab.Navigator>
)
}
export default OrderNavigator
Я пытаюсь сделать перенаправление с помощью приведенного ниже кода. Я использую его со своей страницей со списком заказов и пытаюсь перенаправить на страницу «детали заказа» onclick. (с помощью навигатора вкладок.)
<TouchableOpacity
onPress={() =>
navigation.navigate('NewOrder', {
params: { user: 'jane' },
})
}
style={[styles.ListItem]}
button
key={`order${index}`}
>
И мой ответ, когда я пытаюсь перейти с параметрами.
Но вы можете видеть, что мои параметры «не определены» с ответом.
const AddOrderContainer = ({ route, navigation }) => {
useEffect(() => {
console.log(route)
}, [route])
....
....
Object {
"key": "New Order-mafygLVPzFO1rVOhj1zVH",
"name": "New Order",
"params": undefined,
}