Vuex와 Redux의 불변성 접근방식의 차이점
Vuex를 가지고 놀다가 간단한 할당으로 변환 핸들러를 통해 상태를 변환하는 것이 얼마나 쉬운지를 깨달은 저는 지금 redex와 함께 일하고 있으며 redex는 불변성을 강조하지만 코딩을 조금 더 상세하게 한다는 것을 배웠습니다.이제 의문이 생깁니다.
- redux는 불변성을 강조하지만 vuex는 강조하지 않는 이유는 무엇입니까?
- 훨씬 더 간단한 코딩으로 vuex에서도 동일한 작업을 수행할 수 있는데 왜 redux가 더 인기 있는 것처럼 보이는가?
- 이 두 가지 접근법의 장점과 단점은 무엇입니까?
놀랍게도 인터넷에서는 찾을 수 있는 정보가 없습니다.
질문에 답하려면 둘 다 어떻게 작동하는지 알아야 합니다.Veux의 상태는 관찰 가능/반응이므로 상태를 설정합니다.어떤 것이든 상태를 지켜보게 될 거야뭔가.
Redux 상태는 "정상" javascript 데이터 개체입니다(개체에 메서드 및 프로토타입은 사용하지 않음).액션이 디스패치되면 redux에 의해 새로운 상태가 생성되고 react-redux가 모든 것을 실행합니다.mapStateToProps
또는useSelector
현재 결과를 마지막 결과와 비교합니다(참조 비교 사용).{} !== {}
변경사항이 있는 경우 react-redux는 해당 컴포넌트를 다시 렌더링합니다.
질문에 답하려면:
Veux 상태는 단순한 객체가 아니라 많은 청취자가 상태에 추가되기 때문에 Veux 상태가 되었을 때
state.newValue='new value'
모든 청취자들을 자극할 거야Redux는 이전 값과 현재 값을 비교해야 하며 이를 위한 가장 뛰어난 방법은 참조 비교입니다.따라서 변경되지 않은 모든 소품이 이전과 동일한 참조를 가리키지만 변경된 소품이 다른 참조를 가리키는 새 상태를 생성해야 합니다.React/Redux는 기능적 접근 방식을 사용하고 vue/veux는 OO 접근 방식을 사용합니다.React Redux가 더 오래 존재하고 더 나은 지원 생태계가 있기 때문일 수 있습니다.기능 프로그래밍이 최근 더욱 인기를 끌고 있는 이유는 수십 년 동안 노력해도 여전히 OO(통화)로 좋은 코드를 작성하기가 어렵기 때문입니다.밥 아저씨가 생각해 낼 수 있는 최선의 방법은 "클래스는 바꿀 이유가 하나밖에 없다"는 것입니다.그리고 그 규칙에 따르면 당신은 함수로 할 수 있는 유일한 방법을 가진 클래스로 끝납니다.클래스 내에서 관련 데이터와 동작을 조합할 때의 문제는 나중에 이 관계가 변경될 수 있다는 것입니다.또, 이러한 관계가 실제로 실장할 필요가 있는 것이 반영되지 않는 것을 알 수 있습니다.
둘 다 배우기 어렵고 잘하기 때문에 복잡한 코드 베이스(복잡한 요건, 불필요한 복잡함이 아님)에서 무슨 일이 일어날지 예측하기 쉽고 테스트하기도 쉽지만 결국 개인적인 취향일 뿐입니다.
언급URL : https://stackoverflow.com/questions/63228857/differences-in-vuex-and-redux-immutability-approaches
'programing' 카테고리의 다른 글
posix_memalign/memalign의 기능 (0) | 2022.07.26 |
---|---|
Executor Service 스레드 및 스레드 풀 이름 지정 (0) | 2022.07.26 |
여러 vuex createNamesched에 대한 베스트 프랙티스는 무엇입니까?도우미? (0) | 2022.07.26 |
활동 간에 데이터를 공유하는 가장 좋은 방법은 무엇입니까? (0) | 2022.07.26 |
Vuex의 상태 초기화 코드를 어디에 넣어야 합니까? (0) | 2022.07.26 |