reactjs React从文件夹导入多个组件

8zzbczxx  于 2023-03-29  发布在  React
关注(0)|答案(4)|浏览(274)

我试图从components文件夹导入2个组件。这两个组件的类都是export default
然而,我得到一个错误消息,我应该在我的import语句中使用花括号。然而,上面的两个组件都没有使用named export,所以在导入它们时不需要花括号。
为什么不起作用?我怎么才能让它起作用?
第4行错误

3df52oht

3df52oht1#

正如@casimirth上面所说的,因为这些组件来自不同的文件,即使在同一个文件夹中,那么你需要分别导入它们,如下所示

import Login from "./components/Login"
import Question from "./components/Question"

但我想我知道你在寻找什么,能够在一行中导入它们,对吗?
下面是几种方法

1 .把它们都放在一个文件中,使用exports,因为在一个文件中只有一个组件可以使用export default

// ./components/componentfile.js
export const Login = () => {...
export const Question = () => {...

然后在使用它们的地方可以将它们导入为

import {Login, Question} from '.components/componentfile'

如果其中一个文件以如下所示的默认值导出

const Login = () => {...
export const Question = () => {...
export default Login;

然后使用它们将如下

import Login , { Question } from './components/componentfile'

2.您希望将这两个文件分开保存,但仍在一行导入

然后你需要在组件文件中添加另一个文件,首选index.js,因为如果你命名一个目录而不指定一个文件,index.js是默认调用的一个
因此,components目录将有三个文件,

./components
   -index.js
   -login.js
   -questions.js

然后在login.js上不编辑任何东西,questions.js将它们导入index.js并从index.js导出,如下所示

import Login from './login'
import Question from './question'

export {Login, Question}

然后在使用它们的地方,只需按如下方式导入它们

import {Login, Question} from './components' //note with index.js no need to mention //it on import
u0njafvf

u0njafvf2#

您可以在components文件夹中创建一个index.js文件,用于导入和导出所有组件,然后您就可以在同一行导入组件。
这个question and answer可能会对您有所帮助,它的特殊之处在于,它只需要一行代码就可以执行导入和导出。

ig9co6j1

ig9co6j13#

尝试单独导入它们:

import Login from "./components/Login"
import Question from "./components/Question"
e4yzc0pl

e4yzc0pl4#

在单个
1.在components文件夹中创建index.js文件
1.在index.js文件中导出所有组件
一个月一个月一个月一个月一个月

相关问题