减少方法?无法阅读财产'减少'未定义的错误。反应/终极版

时间:2016-07-28 17:05:31

标签: reactjs react-redux

您好我正在尝试应用以下示例How to filter and sort the same array of object state in redux?

但是我遇到了以下错误'Cannot read property 'reduce' of undefined error'。它似乎与" Pane容器有关"特别是这个辅助函数:

// Simple helper function, which return all filters from state by given key.
function getFilters(key, movies) {
  return movies.reduce((acc, movies) => {
    if (!acc.includes(movie[key])) {
      return [...acc, movie[key]];
    }
    return acc;
  }, []);
}

我认为movies来自reducer,从项目列表中传递出来:

const items = [{
  title: 'Mad max',
  year: 2015,
  rating: 8,
  genre: 'fantasy',
}, {
  title: 'Spider man 2',
  year: 2014,
  rating: 7,
  genre: 'fantasy',
}];

export default function moviesReducer(state = {
  movies: items,
  year: 'all',
  rating: 'all',
  genre: 'all',
  sorting: 'year',
}, action) {
  switch (action.type) {
    case 'SET_YEAR':
      return {
        ...state,
        year: action.year,
      };
    case 'SET_RATING':
      return {
        ...state,
        rating: action.rating,
      };
    case 'SET_GENRE':
      return {
        ...state,
        genre: action.genre,
      };
    case 'SET_SORTING':
      return {
        ...state,
        sorting: action.sorting,
      };
    default:
      return state;

因此,如果电影需要是一个数组,这一切似乎都是正确的吗?

感谢。

0 个答案:

没有答案