【问题标题】:React Navigation Typescript namespace not found未找到 React Navigation Typescript 命名空间
【发布时间】:2021-01-21 01:29:39
【问题描述】:

当我尝试创建任何导航器(选项卡/堆栈/抽屉)时,我会收到此打字稿错误:Cannot find namespace 'Tab',即使它是在文件本身中定义的。 有什么问题和解决方案是什么? 我已经使用 expo typescript 模板开始了。

代码:

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

type bottomTabParams = {};

const Tab = createBottomTabNavigator<bottomTabParams>();

const MyTabs = () => {
  return (
    <Tab.Navigator>
      <Tab.Screen name="Home" />
      <Tab.Screen name="Settings" />
    </Tab.Navigator>
  );
};

export default MyTabs;

错误代码:

依赖关系

"dependencies": {
    "@react-native-community/masked-view": "0.1.10",
    "@react-navigation/bottom-tabs": "^5.9.1",
    "@react-navigation/drawer": "^5.9.2",
    "@react-navigation/native": "^5.7.5",
    "@react-navigation/stack": "^5.9.2",
    "expo": "~39.0.2",
    "expo-status-bar": "~1.0.2",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-39.0.3.tar.gz",
    "react-native-elements": "^2.3.2",
    "react-native-gesture-handler": "~1.7.0",
    "react-native-reanimated": "~1.13.0",
    "react-native-safe-area-context": "3.1.4",
    "react-native-screens": "~2.10.1",
    "react-native-web": "~0.13.12"
  },
  "devDependencies": {
    "@types/react": "~16.9.35",
    "@types/react-dom": "~16.9.8",
    "@types/react-native": "~0.63.2",
    "react-native-web": "~0.13.7",
    "typescript": "~3.9.5"
  },
  "private": true

【问题讨论】:

  • 请发布您的代码
  • @AnhDevit 该文件尚未在任何地方导入。错误仅在文件中。这就是所有需要检查的代码。
  • 我只是想检查你的弹出窗口背后的代码

标签: typescript react-native expo react-navigation


【解决方案1】:

您是否尝试过使用 .tsx 扩展名而不是 .ts ?我有同样的问题,这是我的问题。

【讨论】:

  • 你会推荐哪个扩展?
  • 我的意思是:你的文件名以 .ts 结尾,它可能应该以 .tsx 结尾
  • 该死,我应该把头撞在墙上。无论如何,谢谢!
  • 是的,我在我的一个项目中也遇到了这个错误。必须像 .jsx 一样使用 .tsx
【解决方案2】:

为什么可以这么简单?

const Tab = createBottomTabNavigator();

【讨论】:

  • 这是可选的,但问题仍然存在。添加它是为了看看它是否解决了问题。
  • 你的 react-navigation 版本是什么?你安装了@react-navigation/bottom-tabs 吗?
  • 如果我已经导入了它,我必须安装它对吗?或者这不是首先的错误吗?无论如何,我已经用依赖项更新了问题。
猜你喜欢
  • 2016-09-28
  • 1970-01-01
  • 2015-02-16
  • 2019-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-03
相关资源
最近更新 更多