我使用 Expo 创建了一个 React Native 项目。

我的文件夹MainButton.tsx中有/components这样的文件:

import { View, Text } from "react-native";

const MainButton = () => {
  return (
    ...
  );
};

export default MainButton;

现在,我想在文件夹index.tsx中的文件中导入这个自定义按钮,如下所示:app

import { MainButton } from "../components";

但它显示错误:Cannot find module '../components' or its corresponding type declarations.我该如何修复?我应该修改tsconfig.json文件吗?


最佳答案
2

我发现将导入更改为:import MainButton from "../components/MainButton";对我来说是可行的,而且我不需要修改文件tsconfig.json

找不到模块,因为它是从其所在的文件而不是文件夹本身导出的。您可以通过将导入更改为来解决此问题

import MainButton from "../components/MainButton.tsx";

如果需要,也可以通过在配置中添加以下内容来在 typescript 配置中修复此问题。

"paths": {
  "components/*": ["components/*"]
}

这应该在组件目录下的所有文件中查找它。我想说我通常会看到大多数人使用的第一个选项 🙂 如果您需要进一步说明,请告诉我!

5

  • 谢谢您的回复,但不幸的是,它们对我来说都不起作用。


    – 

  • 呃,先生“我发现将导入更改为:从“../components/MainButton”导入 MainButton;对我来说是可行的,而且我不需要修改 tsconfig.json 文件。”。这就是我告诉你要做的……


    – 

  • 您提供的答案包含.tsx在最后,但这对我来说不起作用。


    – 

  • import MainButton from "../components/MainButton";对我有用


    – 

  • 好的,朋友,如果你使用 vscode,我建议获取一些 typescript/javascript 扩展。


    –