Получение сообщения «Ошибка попытки импорта:» в приложении React

При попытке запустить приложение 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?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
169
0
211 413
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий
import { combineReducers } from '../../store/reducers';

должно быть

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

поскольку это экспорт по умолчанию, а не именованный экспорт.

Есть хорошая разбивка различий между двумя здесь.

У меня была такая же проблема, но я просто набрал export вверху и стер значение по умолчанию внизу. Прокрутите вниз и проверьте комментарии.

import React, { Component } from "react";

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

Это еще один вариант:

export default function Counter() {

}

Думаю, я опаздываю, но эта информация может быть полезна всем, кому я что-то узнал, что может быть простым, но важным. если вы используете экспорт для функции напрямую, т.е.

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

Обратите внимание, что при импорте вам необходимо заключить его в фигурные скобки. то есть import {addPost} from '../URL';

Но при использовании экспорта по умолчанию, т.е.

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

export default addPost,

Затем вы можете импортировать без фигурных скобок, т.е. import addPost from '../url';

export default addPost

Надеюсь, это поможет всем, кто запутался, как я. ?

Я начал разработку с react ... я действительно нашел это полезным. Ты это очень хорошо объяснил ... спасибо

Yogesh Aggarwal 16.02.2021 10:37

Возможно, я тоже опоздал, но у меня была аналогичная проблема с папками внутри папки компонентов. я изменил имя папки на заглавную букву. у меня это сработало.

Если изменение импорта не помогает, возможно, вам просто нужно запустить yarn install или npm install (или что-то еще, что вы используете) и перезапустить сервер. Работал у меня.

Другие вопросы по теме