Попытка импорта: «./movieReducer» не содержит экспорт по умолчанию (импортируется как «movieReducer») - PullRequest
0 голосов
/ 16 ноября 2018

Я начинаю изучать React + Redux, я делаю простое приложение для добавления или удаления фильма в корзине.

Но у меня проблема с редуктором.Я много чего пытаюсь безрезультатно ...

Заранее спасибо:)

Вот мой код:

Редуктор:

import '../actions/actionsTypes';

import { movies } from '../components/movie/data.json';

let initialState = []

movies.map((movie) => {
initialState.push({
id : movie.id,
title: movie.title,
year: year.title,
isAdd: false,
isRemove: false
})
return movie
})

const establishment = (state = {}, action) => {

    switch (action.type) {

        case ADD :

          if (state.id !== action.data.id)
               return state


        return (
          ...state,
          isAdd : !state.isAdd

        )

        case REMOVE :
          if (state.id !== action.data.id)
            return state

            return (
              ...state,
              isRemove : !state.isRemove

            )

        default:
          return state
    }

}

const establishmentsReducer = (state = initialState, action) => {

    switch (action.type) {

        case ADD :
          return state.map(movieState =>
            movie(movieState, action)
          )


        case REMOVE :
          return state.map(movieState =>
              movie(movieState, action)
          )

        default:
          return state

    }

}

export default movieReducer;

Подключение редуктора (я знаю, что это не бесполезно, но в furtur придется комбинировать редуктор):

import { combineReducers } from 'redux';

import movieReducer from './movieReducer';


const allReducers = combineReducers({
movie : movieReducer
})

export default allReducers;

index.js:

import React from 'react';
import ReactDOM from 'react-dom';

import { createStore } from 'redux';
import { Provider } from 'react-redux';

import allReducers from './reducers';

import './index.css';
import App from './components/App';
import * as serviceWorker from './serviceWorker';


const store = createStore(allReducers);

ReactDOM.render(
  <Provider store={ store }>
  <App/>
  </Provider>,
  document.getElementById('root')

)

1 Ответ

0 голосов
/ 16 ноября 2018

В вашем редукторе измените:

export default movieReducer;

На:

export default establishmentsReducer;

Это потому, что вам нужно экспортировать фактически определенную функцию или переменную, в данном случае establishmentsReducer.Код, которым вы поделились в файле редуктора, не имеет функций / переменных / выражений, определенных / названных как movieReducer.

Другой вариант - просто изменить const establishmentsReducer = (state = initialState, action) => { на const movieReducer = (state = initialState, action) => {.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...