是否可以将React Navigation与Snake.expo.io一起使用?

时间:2020-07-31 02:14:50

标签: react-native react-navigation

我喜欢使用Snake.expo.io,因为我是编程新手,它可以快速,轻松地管理和访问我正在研究的内容。但是,我只是尝试使用React Navigation而无法使其工作。我不断收到“无法解析模块'react-navigation.js'。我在https://expo.io/snacks/@react-navigation处调出了React Navigation小点心,其中的大多数都有相同的错误。我丢失了什么吗?


也许我最初的问题应该问我是否缺少一些初始化步骤。我知道我必须用类似的东西导入它

import { DrawerNavigator } from 'react-navigation';

但是我必须手动添加一个依赖项吗?我以为世博会为您解决了这种事情,但我对所有这些都不是超级有经验。

2 个答案:

答案 0 :(得分:1)

我不知道这是否正确,但是我设法解决了“无法解决”的问题。我欢迎比我自己更有学识的人提供更好的解决方案。

它确实归结为依赖问题。同样,过去我很确定写导入行会导致Snack自动处理适当的依赖关系,但是由于某种原因,它不在这里。因此,为了使React Navigation底部标签导航器显示出来,我添加了

"@react-navigation/bottom-tabs": "latest",

到我的package.json。我的导入行必须调整为

import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';

这是由于我在reactnavigation.org(https://reactnavigation.org/docs/tab-based-navigation/)上的“标签”导航页上打了个勾号,很有趣的是,这确实导致Snack引入了其他一些对应用程序重新加载的依赖关系。我不知道反应导航前面的@是什么。这是我第一次遇到它。

答案 1 :(得分:0)

只需在package.json中设置其依赖项,它就可以正常工作:

{
  "dependencies": {
    "@expo/vector-icons": "^10.0.0",
    "@react-native-community/masked-view": "0.1.10",
    "@react-navigation/bottom-tabs": "^5.8.0",
    "@react-navigation/drawer": "^5.9.0",
    "@react-navigation/material-bottom-tabs": "^5.2.16",
    "@react-navigation/material-top-tabs": "^5.2.16",
    "@react-navigation/native": "^5.7.3",
    "@react-navigation/stack": "^5.9.0",
    "react-native-paper": "^4.0.1",
    "react-native-reanimated": "~1.13.0",
    "react-native-safe-area-context": "3.1.4",
    "react-native-gesture-handler": "~1.7.0",
    "react-native-screens": "~2.10.1",
    "react-native-tab-view": "^2.15.1"
  }
}