반응형
상태를 참조하지 않는 제네릭 돌연변이에서도 vuex가 제대로 작동할까요?
데이터 트리가 있는 vuex를 사용하고 있습니다.반응성이 있고 해당 구성 요소 트리가 있기 때문에 잘 작동합니다.구조가 트리이므로 깊이 중첩된 하위 개체를 변형하려는 경우가 많습니다.이를 구현하는 쉬운 방법은 페이로드에서 아이를 받아들이는 돌연변이를 사용하는 것입니다.
removeLeaf(state, { child, leaf }) {
child.children = child.children.filter((i: any) => i !== leaf);
state = state; // silence warning
},
다른 방법은 다음과 같이 작동하도록 변환을 변경하는 것입니다.
removeLeaf(state, { child_, leaf }) {
let child = searchForChild(state, child_);
child.children = child.children.filter((i: any) => i !== leaf);
},
저는 첫 번째 방법에 만족합니다.상태 매개 변수 대신 페이로드를 사용하여 상태의 하위 개체를 수정하는 돌연변이를 작성하는 데 단점이 있습니까?
제대로 작동하지 않을 것 같습니다.
Vue와 Vuex의 반응성 시스템은 Javascript Getter와 Setter를 기반으로 합니다.
console.log를 사용하는 경우state
어떤 돌연변이에서도 다음과 같은 것을 볼 수 있습니다.
그get
그리고.set
Vuex 상태를 개선하고 설정합니다.
세터가 없으면 Vue의 반응성 시스템은 작동하지 않을 것입니다.
console.log를 사용해 보십시오.state
그리고.child
당신의 돌연변이에서.당신은 아마도 그것을 보게 될 것입니다.child
세터가 포함되어 있지 않습니다.
세터가 없으면 Vue는 사용자가 상태를 업데이트한 것을 알지 못합니다.child
반응성에 문제가 생길 가능성이 높습니다.
언급URL : https://stackoverflow.com/questions/56264005/will-vuex-work-properly-with-generic-mutations-that-dont-reference-state
반응형
'programing' 카테고리의 다른 글
Python을 사용하여 Windows 인증으로 MS SQL Server에 연결하시겠습니까? (0) | 2023.06.30 |
---|---|
esc_url() 및 워드프레스 보안? (0) | 2023.06.30 |
페이지. 사용자.신원.양식 이후에도 인증이 계속 참인증.로그아웃() (0) | 2023.06.30 |
프로세스 내 쓰기 메모리에 복사본 할당 (0) | 2023.06.30 |
.gitconfig에 파일을 포함할 수 있습니까? (0) | 2023.06.30 |