在React应用中收到“尝试导入错误:”

时间:2018-11-15 21:52:47

标签: reactjs redux

尝试运行我的React应用时收到以下错误:

./src/components/App/App.js Attempted import error: 'combineReducers' is not exported from '../../store/reducers/'.

这是我导出CombineReducers的方式:

import { combineReducers } from 'redux';
import userReducers from './userReducers';
import articleReducers from './articleReducers';

export default combineReducers({
    userReducers,
    articleReducers
});

这是我在App.js中导入它的方式:

import { combineReducers } from '../../store/reducers';

我如何导出CombineReducers有什么不正确的地方?

6 个答案:

答案 0 :(得分:35)

import { combineReducers } from '../../store/reducers';

应该是

import combineReducers from '../../store/reducers';

,因为它是默认导出,而不是命名导出。

两个here之间的差异有很好的细分。

答案 1 :(得分:4)

我想我来晚了,但是此信息可能对我发现某事的任何人有用,这可能很简单但很重要。 如果直接在函数上使用导出,即

export const addPost = (id) =>{
  ...
 }

请注意,导入时需要将其用大括号括起来 即import {addPost} from '../URL';

但是使用导出默认值时,即

const addPost = (id) =>{
  ...
 }

export default addPost

然后,您可以在不使用大括号的情况下进行导入,即 import addPost from '../url';

export default addPost

我希望这对任何对我感到困惑的人有所帮助。 ?

答案 2 :(得分:2)

我遇到了同样的问题,但是我只是在顶部输入了export并在底部删除了默认值。向下滚动并查看评论。

import React, { Component } from "react";

export class Counter extends Component { // type this  
export default Counter; // this is eliminated  

答案 3 :(得分:1)

这是另一种选择:

export default function Counter() {

}

答案 4 :(得分:0)

也许我也迟到了,但我在组件文件夹内的文件夹中遇到了类似的问题。我用大写字母更改了文件夹的名称。它对我有用。

答案 5 :(得分:0)

如果更改导入没有帮助,也许您只需要运行 yarn install 或 npm install(或您正在使用的任何程序)并重新启动服务器。为我工作。