Значение React + Redux не определено mapStateToProps - PullRequest
0 голосов
/ 09 марта 2019

так у меня есть

index.js

import {getShowsHome} from './reducers/reducers';

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

App.js

const mapStateToProps = (state) => {
 return {
  tvSeries: state.getShowsHome.tvSeries,
  isPedding: state.getShowsHome.isPedding,
  movies: state.getShowsHome.movies,
  horror: state.getShowsHome.horror,
  scifiFantasySeries: state.getShowsHome.scifiFantasySeries
 }
}
const mapDispatchToProps = (dispatch) => {
 return {
 getShows: () => dispatch(getShows())
 }
}

Редуктор

const initialState = {
isPedding: true,
tvSeries: [],
movies: [],
horror: [],
scifiFantasySeries: []
}
export const getShowsHome = (state=initialState, action={}) => {
switch(action.type) {
    case GET_SHOWS_HOME_PEDDING:
        return Object.assign({}, state, {isPedding: true});
    case GET_SHOWS_HOME_SUCCESS:
        return Object.assign({}, state, {
                                tvSeries: action.payload.popularSeries,
                                movies: action.payload.popularMovies,
                                horror: action.payload.horrorMovies,
                                scifiFantasySeries: action.payload.scifiFantasySeries,
                                isPedding: false,
                            });
    case GET_SHOWS_HOME_FAILED:
        return Object.assign({}, state, {error: action.payload});
    default: 
    return state;
}
}

Так чтопроблема в том, что я получаю ошибку, я получаю tvSeries (только потому, что он первый), он не определен, это как магазин, не передавший редукторы в приложении, почему

1 Ответ

3 голосов
/ 09 марта 2019

ваш магазин будет иметь состояние напрямую, а не под клавишей 'getShowsHome', это просто имя функции. так что попробуй

 tvSeries: state.tvSeries

, если у вас несколько редукторов, combReducers (импорт из redux)

const store = createStore(combineReducers({ getShowsHome: getShowsHome, ....other here }))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...