Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Пример отмены промиса (race conditions).
- * Например, при переключении закладок - выполняется подгрузка данных.
- * При клике на вторую вкладку, а потом сразу на первую - запрос по первой вкладке
- * всё ещё будет обрабатываться. Обработку уже ненужного запроса - можно прервать.
- */
- export const fetchTodos = (filter) => (dispatch, getState) => {
- if (getIsFetching(getState(), filter)) {
- return Promise.resolve();
- }
- dispatch(requestTodos(filter));
- return api.fetchTodos(filter).then(response => {
- dispatch(receiveTodos(filter, response));
- });
- };
- /**
- * mapDispatchToProps сокращение.
- */
- // Вместо:
- const mapDispatchToProps = (dispatch) => ({
- onTodoClick(id) {
- dispatch(toggleTodo(id));
- },
- });
- const VisibleTodoList = withRouter(connect(
- mapStateToProps,
- mapDispatchToProps
- )(TodoList));
- // Можно написать вот так:
- const VisibleTodoList = withRouter(connect(
- mapStateToProps,
- {onTodoClick: toggleTodo},
- )(TodoList));
Add Comment
Please, Sign In to add comment