React 从文件夹中导入多个组件
React import multiple components from a folder
我正在尝试从 components
文件夹中导入 2 个组件。两个组件的 class 都是 export default
.
但是,我收到一条错误消息,提示我应该在导入语句中使用大括号。但是,上面的两个组件都没有使用 named export
,因此导入它们时不需要花括号。
为什么它不起作用?我怎样才能使这项工作?
第 4 行错误
您可以在组件文件夹中创建一个index.js
文件来导入和导出所有组件,然后您就可以在同一行导入组件了。
这个可能会对您有所帮助,特别之处在于它可以仅使用一行代码执行导入和导出。
尝试单独导入它们:
import Login from "./components/Login"
import Question from "./components/Question"
正如@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
-index.js
-login.js
-questions.js
然后在 login.js 上不编辑任何内容,questions.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
我正在尝试从 components
文件夹中导入 2 个组件。两个组件的 class 都是 export default
.
但是,我收到一条错误消息,提示我应该在导入语句中使用大括号。但是,上面的两个组件都没有使用 named export
,因此导入它们时不需要花括号。
为什么它不起作用?我怎样才能使这项工作?
第 4 行错误
您可以在组件文件夹中创建一个index.js
文件来导入和导出所有组件,然后您就可以在同一行导入组件了。
这个
尝试单独导入它们:
import Login from "./components/Login"
import Question from "./components/Question"
正如@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
-index.js
-login.js
-questions.js
然后在 login.js 上不编辑任何内容,questions.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