Я начинаю изучать 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')
)