Empfangen von "Versuchter Importfehler:" in der Reaktions-App


110

Beim Versuch, meine React-App auszuführen, wird folgende Fehlermeldung angezeigt:

./src/components/App/App.js
Versuchter Importfehler : 'combinReducers'
wird nicht aus '../../store/reducers/' exportiert.

So exportiere ich combineReducers:

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

export default combineReducers({
    userReducers,
    articleReducers
});

und so importiere ich es in App.js:

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

Was ist falsch daran, wie ich exportiere combineReducers?

Antworten:


222

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

sollte sein

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

da es sich um einen Standardexport handelt und nicht um einen benannten Export.

Es gibt eine gute Aufteilung der Unterschiede zwischen den beiden hier .


1
Vielen Dank, dass Sie den Standardexport vom benannten Export unterschieden haben
Francis Bacon

15

Ich hatte das gleiche Problem, aber ich habe nur oben getippt exportund das Standardproblem unten gelöscht. Scrollen Sie nach unten und überprüfen Sie die Kommentare.

import React, { Component } from "react";

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

4

Ich schätze, ich komme zu spät, aber diese Informationen könnten für jeden nützlich sein, bei dem ich etwas herausgefunden habe, was einfach, aber wichtig sein könnte. Wenn Sie den Export für eine Funktion direkt verwenden, z

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

Beachten Sie beim Importieren, dass Sie es in geschweifte Klammern setzen müssen, d. H. import {addPost} from '../URL';

Aber bei Verwendung von Export Standard dh

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

export default addPost,

Dann können Sie ohne geschweifte Klammern importieren, dh import addPost from '../url';

export default addPost

Ich hoffe das hilft jedem, der als ich verwirrt war. 🙂


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.