Skip to content

Instantly share code, notes, and snippets.

@oreqizer
Last active July 6, 2017 11:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oreqizer/898fd57cb653565451894006c77def0f to your computer and use it in GitHub Desktop.
Save oreqizer/898fd57cb653565451894006c77def0f to your computer and use it in GitHub Desktop.
An example of state-less todo selector.
import { createSelector } from 'reselect';
const allTodoSelector = props => props.todos; // an array of todos
const filterSelector = props => props.filter; // a url parameter
const todoSelector = createSelector(
[allTodoSelector, filterSelector],
(todos, filter = 'all') => {
switch (filter) {
case 'all':
return todos;
case 'active':
return todos.filter(todo => !todo.done);
case 'done':
return todos.filter(todo => todo.done);
default:
return todos;
}
},
);
export default todoSelector;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment