积极地应用可随后提交或撤销的操作。
积极地应用可随后提交或撤销的操作。
npm install redux-optimist
reducers/todos.jsexport default function todos(state = [], action) {
switch (action.type) {
case 'ADD_TODO':
return state.concat([action.text]);
default:
return state;
}
}reducers/status.jsexport default function status(state = {writing: false, error: null}, action) {
switch (action.type) {
case 'ADD_TODO':
return {writing: true, error: null};
case 'ADD_TODO_COMPLETE':
return {writing: false, error: null};
case 'ADD_TODO_FAILED':
return {writing: false, error: action.error};
default:
return state;
}
}reducers/index.jsimport optimist from 'redux-optimist';
import { combineReducers } from 'redux';
import todos from './todos';
import status from './status';
export default optimist(combineReducers({
todos,
status
}));只要您的顶层 reducer 返回一个普通对象,就可以使用 optimist。您不需要
必须使用 Redux.combineReducers。
optimist 关键字标记你的乐观行为middleware/api.js…请注意,我们总是通过提交事务或回滚事务来进行后续操作。如果不做这两项操作,就会出现内存泄漏。还请注意,我们使用一个可序列化的事务 ID,例如数字。这些 ID 在整个系统中必须是唯一的。
暂无开放 Issues,或尚未同步最近议题。