一般的なデータ保存のための還元。
export const LOAD_POSTS_DATA = 'LOAD_POSTS_DATA';
var connected = ... // filled by NetInfo
const initialState = {
data: [],
};
export default function reducer(state = initialState, action) {
switch (action.type) {
case LOAD_POSTS_DATA:
if (connected) {
return {
open: true,
};
}
return state;
default:
return state;
}
}
export function load() {
return {
type: LOAD_POSTS_DATA,
};
}
これだけあなたのような第二減速を書くと延期のために、データをロードしません:あなたはコンポーネントが時点で発射することがありLOAD_POSTS_DATA
アクションを、持っていると仮定すると、あなたは、このようなAA減速機を使用することができますこの:
const CLEAR_QUEUE = 'CLEAR_QUEUE';
import { LOAD_POSTS_DATA } from './otherReducer';
var connected = ... // filled by NetInfo
const initialState = {
queue: [],
};
export default function reducer(state = initialState, action) {
switch (action.type) {
case LOAD_POSTS_DATA:
if (!connected) {
var q = state.queue;
q.push(action);
return {
queue: q,
};
}
return state;
case CLEAR_QUEUE:
return {
queue: []
}
default:
return state;
}
}
// needs to be called as soon as you go back only
// requires redux-thunk
export function getOperations() {
return (dispatch, getState) => {
const { thisReducer: { queue } } = getState();
queue.forEach(action => dispatch(action));
return {
type: CLEAR_QUEUE,
};
};
}
秒1つの店舗ごとに繰延アクションは、(他の減速からインポートする必要があります)とアクションのホールドを取得し、あなたがオンラインに戻っているとすぐにそれらをディスパッチするredux-thunkを使用しています。
アプリケーションの状態を管理するために何を使用していますか? –
Flux – Karim
現在、Reduxを使用している場合は、このライブラリを使用するよりも、状態をオフラインで使用できます。https://github.com/rt2zz/redux-persist –