![](/img/trans.png)
[英]React Native: Error Message undefined is not an object (evaluating 'navigation.navigate')
[英]undefined is not an object (evaluating 'navigation.navigate') React Native
我在反應導航中遇到問題,錯誤消息“未定義不是 object(評估 'navigation.navigate')”。 嘗試通過另一條路線的按鈕調用屏幕時發生錯誤
組件代碼:
export default function Estruturas({ title, display, navigation }) {
const [estruturas, setEstruturas] = useState([]);
useEffect(() => {
async function loadEstruturas() {
const response = await api.get('/produto/api/estrutura');
setEstruturas(response.data);
}
loadEstruturas();
}, []);
return (
...
<ProductList>
{estruturas.map(estrutura => (
<Item key={estrutura.id} onPress={()=> navigation.navigate('Pedidos')}>
...
路線代碼:
const Tab = createMaterialBottomTabNavigator();
function MyTabs(){
return(
<Tab.Navigator
barStyle={{ backgroundColor: '#694fad' }}
initialRouteName='Feed'
activeColor='black'
>
<Tab.Screen
name="Início"
component={Dashboard}
options={{
tabBarLabel: 'Início',
tabBarIcon: ({ color }) => (
<MaterialCommunityIcons name="home" size={26} />
),
}}
/>
<Tab.Screen
name="Pedidos"
component={Requests}
options={{
tabBarLabel: 'Pedidos',
tabBarIcon: ({ color }) => (
<MaterialCommunityIcons name="assignment" size={26} />
),
}}
/>
</Tab.Navigator>)}
export default function Routes() {
return (
<NavigationContainer>
<MyTabs />
</NavigationContainer>
);
}
我嘗試使用 Stack 但它給出了同樣的錯誤
只有導航器堆棧的直接子級才能訪問導航道具。 我可以看到您的組件Estruturas不是直接路由,因此它不會直接在 function 道具中獲取導航道具。 有兩種方法可以完成並修復此問題。
export default function Dashboard(props) { return ( <View> <Estruturas navigation={props.navigation} /> </View> ); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.