programing

모든 데이터를 vuex 또는 redux에 저장하는 것이 좋습니까?

newsource 2022. 8. 28. 09:44

모든 데이터를 vuex 또는 redux에 저장하는 것이 좋습니까?

데이터를 저장하면 성능이 저하됩니까?예를 들어 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에 관한 것만이 아닙니다.

말씀하신 대로 Vuex를 사용하는 것은 문제가 되지 않는다고 생각합니다.데이터를 반드시 어딘가에 저장해야 하는 경우(vuex 또는 컴포넌트) 메모리 공간을 사용해야 합니다.

대규모 애플리케이션에 Vuex를 사용하는 것이 좋습니다.Vuex를 사용하면 데이터를 분할하여 이해하기 쉽고 정리하기 쉽게 구성할 수 있기 때문입니다.또한 동작과 돌연변이를 통해 데이터가 상태에 저장되기 위해 거쳐야 하는 라이프사이클도 추가되어 팀이 상태와 상호 작용하는 방식을 개선하고 상태를 직접 편집하는 대신 프로세스를 따르도록 장려합니다.

컴포넌트를 통해 데이터를 전달하는 접근법도 유효합니다.그러나 앱이 성장함에 따라 데이터를 자녀 컴포넌트에 계속 전달해야 하며 복잡한 구조의 오브젝트를 전달하면 컴포넌트가 여러 개의 간단한 소품 대신 하나의 소품으로 전달되기 때문에 유지보수가 어려워질 수 있습니다.

그러니까 너한테 달렸어.성능 측면에서는 Vuex 및 대규모 데이터셋에 문제가 없었지만, 앱이 너무 커지면 다음과 같이 Vuex 성능을 향상시킬 수 있습니다. https://itnext.io/vue-js-app-performance-optimization-part-3-lazy-loading-vuex-modules-ed67cf555976

언급URL : https://stackoverflow.com/questions/60017914/is-it-good-to-store-all-data-in-vuex-or-redux