【发布时间】:2020-02-01 14:40:53
【问题描述】:
在存储中保存数据会降低性能吗? 例如我们在vue中有一个应用程序,我通过api从服务器获取客户数据。 并将其存储在 vuex 中,我可以设置一些过滤器来获取过滤后的数据。 这是我的 vuex 的状态。
export const state = () => ({
allCustomers: [],
hasError: false,
loading: false,
searchForm: {
name: "",
nationalCode: "",
mobile: ""
},
filterForm: {
minAge: "",
maxAge: "",
minVisit: "",
maxVisit: "",
gender: ""
},
tagForm: {
visitTag: "",
serviceTag: ""
}
});
我获取数据的请求代码在操作部分:
export const actions = {
async getCustomer({ commit, state }, API) {
commit(`${ActionsTypes.CHANGE_HAS_ERROR}`, false);
commit(`${ActionsTypes.CHANGE_LOADING}`, true);
commit(`${ActionsTypes.CLEAR_ARRAY}`);
try {
const {
data: { data }
} = await API.get("api/admin/customer", {
params: setParams({ ...state.searchForm, ...state.filterForm, ...state.tagForm })
});
data.map(item =>
commit(`${ActionsTypes.CHANGE_ALL_CUSTOMER}`, new Customer(item))
);
} catch (err) {
commit(`${ActionsTypes.CHANGE_HAS_ERROR}`, true);
}
commit(`${ActionsTypes.CHANGE_LOADING}`, false);
}
};
我可以将这些数据存储在组件的本地数据中,并通过子组件向下传递。 但我想知道将所有数据保存在 vuex 中是否很好。 我知道将它们保存在本地数据中很容易,但我希望在我的所有代码中都有一个模式。 我的主要问题是,在 vuex 中存储数据会降低性能吗?这不仅仅是关于 vue,react 和 redux 也是。
【问题讨论】:
标签: vue.js redux vuex state-management