(Flux) 상태 관리에서 명명된 속성 대신 정적 함수를 사용하지 않는 이유는 무엇입니까?
현재 angularJS에서 react.js로 전환할 것인지 vue.js로 전환할 것인지 결정 중입니다.목표는 Typescript를 포함하여 모든 것이 Typesafe임을 확인하는 것입니다.
vuex와 redux를 사용해 보니 일반 함수가 아닌 어떤 형식의 문자열 이름을 함수에 사용하고 있습니다.
예를 들어 Redex는 특정 기능을 위해 감속기의 스위치를 통해 점검합니다.
Vuex는 문자열과 payload를 사용하는 함수를 통해 해당 개체의 함수를 호출할 수 있는 상수 개체를 사용합니다.
그 이유는 무엇입니까?아무래도 리팩터링을 해야 할 때 고통스러울 것 같고 오타 때문에 프로그래밍을 할 때 실수를 하는 것처럼 느껴집니다.
정적 기능을 가진 일반 클래스가 작업을 수행하지 않는 이유(또는 다른 더 나은 솔루션)
Redux와 Vuex는 모두 1개씩을 만듭니다.store
선언된 모듈 세트로부터의 인스턴스로서 타입을 제공할 필요가 있는 등록된 액션/프로세서 디스패치/커밋을 담당합니다.string
value. 어플리케이션을 확장하는 동안 액션/변환의 사용이 매우 광범위해지고 플레인 스트링을 사용하면 상태 돌연변이 예측 가능성이 크게 저하됩니다.
다음과 같은 상수 사용:
export const ADD_PORTFOLIO = 'ADD_PORTFOLIO'
를 사용하면 사용 가능한 모든 상태 돌연변이를 개별 목록과 같은 파일에 나열할 수 있으므로 변경 가능성을 명확하게 이해할 수 있습니다.또한 스토어 모듈 내부의 오타를 방지하고 IDE 및 코드 에디터를 통해 상수 유형에 대한 비활성 참조를 자동으로 완료하거나 강조 표시할 수 있습니다.이로 인해 디버깅 시간이 단축되어 플레인에서는 사용할 수 없습니다.string
s. 이는 필수가 아니며 언급된 라이브러리의 발명도 아닙니다.같은 이유로 글로벌하게 호출된 이벤트(Node EvenEmitter, Electron ipcRenderer 등)에서 정상적으로 동작합니다.
Redux와 Vuex는 모두 일반 객체에 상태를 저장하며 API를 함수(각각 자체 아키텍처 포함)로 정의하여 단일 스토어 인스턴스로 병합해야 합니다.이는 상태 변경, 상태가 돌연변이를 벗어나 변이되거나 디스패치된 액션/변화가 등록되지 않은 경우 경고에 대한 사후적인 업데이트를 제공하는 데 도움이 됩니다.내 의견으로는, 이 접근법은 형식 안전이 없는 경우에 효율적이며, 두 라이브러리 모두 처음에는 없이 사용하도록 되어 있다.
를 들어에서는 다른 또는 "Vuex"를합니다.dispatch
) (액션의 경우)commit
) : ('변이의 경우)
dispatch('profile/addPortfolio', payload, { root: true })
commit('profile/ADD_PORTFOLIO', payload, { root: true })
두 ,, 출, 두, 음, 음, 음, 음, 음, ,, meaning, meaning, meaning, meaning, meaning, meaning, meaning, meaning, meaning, meaning, meaning, meaning, meaning, meaning, meaning meaning,store
및 current 인인 current current current current current current current current current current current current 에 등록될 것으로 예상됩니다.store
Import 인스턴스
Typescript가 프로젝트에 통합되어 있는 경우 클래스 기반 구조 또는 스토어 및 해당 모듈에 대해 데코레이터를 사용할 수 있습니다.이번에도 스토어 라이브러리 아키텍처에 맞게 클래스가 컴파일되지만 개발 경험이 향상됩니다.
Vuex의 경우 Typescript에서 사용할 수 있는 라이브러리는 다음과 같습니다.
- vue-vue-controllator
- vuex-contractors
- vuex-class - 사용하는 도우미
vuex
컴포넌트 내의
TLDR 그러한 아키텍처는 반응성과 중앙 집중화된 상태 변이를 허용하면서도 유형 안전이 없는 사용을 위해 언급된 라이브러리에 의해 정의된다.상수는 작업/변화를 스토어 인스턴스에 등록하고 예측 가능성을 높이며 코드 편집기에 자동 완성 기능을 제공하는 데 도움이 됩니다.
언급URL : https://stackoverflow.com/questions/53212227/why-doesnt-flux-state-management-use-static-functions-instead-of-named-proper
'programing' 카테고리의 다른 글
Java에서 날짜를 하루 늘리려면 어떻게 해야 하나요? (0) | 2022.08.13 |
---|---|
C - 숫자가 소수인지 확인합니다. (0) | 2022.08.13 |
퍼포먼스 트레이드오프 - MATLAB가 C/C++보다 우수하거나 느린 경우 (0) | 2022.08.13 |
instance of를 호출하기 전에 null 체크가 필요합니까? (0) | 2022.08.13 |
16진수의 printf() 포맷 (0) | 2022.08.13 |