mocheng / react-and-redux

《深入浅出React和Redux》代码

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

5.3.1 章节中 reselect 的例子不合适

ziyoung opened this issue · comments

p266页有一段代码

export const selectVisibleTodos = createSelector(
  [getFilter, getTodos],
  (filter, todos) => {
    switch (filter) {
      case FilterTypes.ALL:
        return todos;
      case FilterTypes.COMPLETED:
        return todos.filter(item => item.completed);
      case FilterTypes.UNCOMPLETED:
        return todos.filter(item => !item.completed);
      default:
        throw new Error('unsupported filter');
    }
  }
);

来说明 reselect 的用法。但是在例子中,不管怎么做什么操作,都有引起 filter 或者 todos 的变化,也就是说并没有需要缓存某些数据的场景。所以,我认为本章节中拿 todo 来讲解 reselect 的用法有些牵强。