本文整理汇总了TypeScript中vuex.Store.replaceState方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Store.replaceState方法的具体用法?TypeScript Store.replaceState怎么用?TypeScript Store.replaceState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vuex.Store
的用法示例。
在下文中一共展示了Store.replaceState方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: async
return async (store: Store<State>) => {
const water: Partial<State> = {};
for (const paths of Object.values(saveOn)) {
for (const path of castArray(paths)) {
const storedValue = storage.getItem(prefixKey(path));
if (storedValue) {
const parsedValue = JSON.parse(storedValue);
set(water, path, parsedValue);
}
}
}
store.replaceState(merge({}, store.state, water));
if (onLoad) await onLoad(store);
store.subscribe(({ type }, state) => {
if (hasOwn(saveOn, type)) {
const paths = castArray(saveOn[type]);
for (const [path, value] of zip(paths, at(state, paths))) {
if (path === undefined) continue;
const stringifiedValue = JSON.stringify(value);
try {
storage.setItem(prefixKey(path), stringifiedValue);
} catch {
// this can sometimes throw based on the spec
}
}
}
});
};
示例2:
const setDefaultState = (context: IServerContext, store: Store<IState>) => {
let state: IState = store.state;
state = PersistCookieStorage.getMergedStateFromServerContext<IState>(context, state);
state.app.config = context.appConfig;
if (state.app && state.app.locale) {
context.acceptLanguage = state.app.locale;
context.htmlLang = state.app.locale.substr(0, 2);
} else {
state.app.locale = context.acceptLanguage;
}
if (context.redirect === true) {
state.app.redirectTo = context.url;
}
store.replaceState(state);
};
示例3: return
return (vuexStore: Store<IState>) => {
const hydratedState: IState = {} as IState;
storages.forEach((storage: IVuexPersistStorage): void => {
if (canWriteStorage(storage)) {
processStorage(storage, hydratedState, vuexStore);
}
});
const mergedState: IState = merge(vuexStore.state, hydratedState, {
clone: false,
arrayMerge: (store, saved) => {
return saved;
},
});
vuexStore.replaceState(mergedState);
};
示例4: createStore
namespace TestPlugin {
const a = (store: Vuex.Store<any>) => {};
const b = (store: Vuex.Store<ISimpleState>) => {};
new Vuex.Store<ISimpleState>({
state: { count: 1 },
plugins: [a, b]
});
}
namespace TestReplaceState {
const store = createStore();
store.replaceState({ count: 10 });
}
namespace TestWatch {
const store = createStore();
store.watch(state => state.count, value => {
const a: number = value;
}, {
deep: true,
immidiate: true
});
}
namespace TestHotUpdate {
const store = createStore();