首页 > 解决方案 > 嗨,我正在使用 react-native 和 react-navigation

问题描述

当我尝试导航时。导航发生此错误

无法读取未定义的属性“导航”

这是我的代码

当我尝试导航时。导航发生此错误

无法读取未定义的属性“导航”

这是我的代码

卡片.js

const Card = ({
  navigation,
  item,
  ingredients1,
  ingredients2,
  ingredients3,
}) => {
  console.log("ingredients1:", ingredients1);
  console.log("ingredients2:", ingredients2);
  console.log("ingredients3:", ingredients3);

  const ingredients = ingredients1 + "," + ingredients2 + "," + ingredients3;
  const ingre1 = ingredients.split(",");
  const ingre = ingre1.filter(function (tem) {
    return tem !== null && tem !== undefined && tem !== "";
  });
  const continents = item.content1 + "," + item.content2 + "," + item.content3;
  let score = 0;
  for (let i = 0; i < ingre.length; i++) {
    if (continents.indexOf(ingre[i]) != -1) {
      score += 33;
    }
  }
  const _score = String(score);
  const score1 = _score.split(",");

  console.log("score1:", score1);

  const RecipeButton = useCallback(() => {
    navigation.navigate("Explain");
  }, []);

  return (
    <>
      <ImageStyle
        source={{ uri: `http://10.0.2.2:3065/${item.Images[0].src}` }}
      />
      <Explain>
        <Username>{item.User.nickname}</Username>
        <FoodName>{item.name}</FoodName>

        <Ingrepercent>재료 {score1}%일치</Ingrepercent>

        <Recipe onPress={RecipeButton}>
          <Label>Recipe</Label>
        </Recipe>
      </Explain>
    </>
  );
};

export default Card;

导航器.js

const MainNavigator = () => {
  return (
    <Stack.Navigator>
      <Stack.Screen
        name="Main"
        component={Main}
        options={{
          headerShown: false,
        }}
      />
      <Stack.Screen
        name="Food"
        component={Food}
        options={{
          headerShown: false,
        }}
      />
      <Stack.Screen
        name="Explain"
        component={Explain}
        options={{
          headerShown: false,
        }}
      />
      <Stack.Screen
        name="Card"
        component={Card}
        options={{
          headerShown: false,
        }}
      />
    </Stack.Navigator>
  );
};

我不知道我该如何解决......

请帮我

这是错误视图

在此处输入图像描述

标签: javascriptnode.jsreactjsreact-nativereact-navigation

解决方案


这对我有用!

import { useNavigation } from '@react-navigation/native';
function funcName() {
  const navigation = useNavigation();

  return (
   {/* Your code /*}
  );
}

推荐阅读