所以在下面的堆疊中,名稱為 Chats 和組件 HomeScreen 的螢屏已經自動接收到導航道具并且它可以作業
但是其他三屏(Python,Java,&React)沒有收到。如何解決這個問題?
export default function App(){
return (
<View>
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name='Chats' component={HomeScreen} />
<Stack.Screen name='Python'>{props => <ChatBox text="Python Developer Beta Pvt Ltd" id={1} />}</Stack.Screen>
<Stack.Screen name='Java'>{props => <ChatBox text="Java Developer Johnson Pvt Ltd" id={0} />}</Stack.Screen>
<Stack.Screen name='React'>{props => <ChatBox text="React Developer Johnson Pvt Ltd" id={2} />}</Stack.Screen>
</Stack.Navigator>
</NavigationContainer>
</View>
);
}
uj5u.com熱心網友回復:
您需要顯式地傳遞 props( {...props})。
<Stack.Navigator>
<Stack.Screen name='Chats' component={HomeScreen} />
<Stack.Screen name='Java'>{props => <ChatBox text="Java Developer Johnson Pvt Ltd" id={0} {...props} />}</Stack.Screen>
</Stack.Navigator>
</NavigationContainer>
uj5u.com熱心網友回復:
import * as React from 'react';
import { Button } from 'react-native';
import { useNavigation } from '@react-navigation/native';
function MyBackButton() {
const navigation = useNavigation();
return (
<Button
title="Back"
onPress={() => {
navigation.goBack();
}}
/>
);
}
您可以使用 useNavigation 鉤子代替道具。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/392309.html
