Отримання повідомлення про помилку імпорту: у додатку для реагування


117

Я отримую таку помилку при спробі запустити програму React:

./src/components/App/App.js Помилка
спроби імпорту: 'combReducers'
не експортується з '../../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?

Відповіді:


245

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

має бути

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

оскільки це експорт за замовчуванням, а не іменований експорт.

Там хороша розбивка відмінностей між ними тут .


1
спасибі за відмінність експорту за замовчуванням від названого експорту
Френсіс Бекон

На жаль, публікація в блозі про розбіжності розбита.
sboisse

15

у мене була та сама проблема, але я просто набрав exportзверху, а знизу стер типову. Прокрутіть вниз і перевірте коментарі.

import React, { Component } from "react";

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

4

Думаю, я запізнююсь, але ця інформація може бути корисною для тих, хто я щось дізнався, що може бути просто, але важливо. якщо ви використовуєте експорт для функції безпосередньо, тобто

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

Зверніть увагу, що під час імпортування потрібно обернути його фігурними дужками, тобто import {addPost} from '../URL';

Але при використанні експорту за замовчуванням, тобто

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

export default addPost,

Тоді ви можете імпортувати без фігурних дужок, тобто import addPost from '../url';

export default addPost

Сподіваюся, це допоможе тому, хто заплутався, як я. 🙂


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.