Skip to content

Commit f5c6d60

Browse files
committed
Use reducers consistently
1 parent a7b2e9c commit f5c6d60

File tree

2 files changed

+8
-14
lines changed

2 files changed

+8
-14
lines changed

example/src/containers/FilterLink.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@ import createSelector from 'selectorator'
33
import { setVisibilityFilter } from '../actions'
44
import Link from '../components/Link'
55

6-
const getVisibility = createSelector(['visibilityFilter', { path: 'filter', argIndex: 1 }], (visibilityFilter, filter) => (
7-
filter === visibilityFilter
8-
))
9-
10-
const mapStateToProps = (state, ownProps) => ({
11-
active: getVisibility(state, ownProps)
6+
const getVisibility = createSelector(['visibilityFilter', { path: 'filter', argIndex: 1 }], (visibilityFilter, filter) => {
7+
return filter === visibilityFilter
128
})
139

10+
const mapStateToProps = createSelector({ active: getVisibility })
11+
1412
const mapDispatchToProps = (dispatch, ownProps) => ({
1513
onClick: () => {
1614
dispatch(setVisibilityFilter(ownProps.filter))

example/src/containers/VisibleTodoList.js

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,18 @@ import { createSelector } from '@acemarke/redux-starter-kit'
33
import { toggleTodo } from '../actions'
44
import TodoList from '../components/TodoList'
55

6-
const getVisibleTodos = createSelector(['todos', 'visibilityFilter'], (todos, filter) => {
7-
switch (filter) {
8-
case 'SHOW_ALL':
9-
return todos
6+
const getVisibleTodos = createSelector(['visibilityFilter', 'todos'], (visibilityFilter, todos) => {
7+
switch (visibilityFilter) {
108
case 'SHOW_COMPLETED':
119
return todos.filter(t => t.completed)
1210
case 'SHOW_ACTIVE':
1311
return todos.filter(t => !t.completed)
1412
default:
15-
throw new Error('Unknown filter: ' + filter)
13+
return todos
1614
}
1715
})
1816

19-
const mapStateToProps = (state) => ({
20-
todos: getVisibleTodos(state)
21-
})
17+
const mapStateToProps = createSelector({ todos: getVisibleTodos })
2218

2319
const mapDispatchToProps = {
2420
onTodoClick: toggleTodo

0 commit comments

Comments
 (0)