-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Description
Problema
O getter exists em src/store/getters.js criava objetos intermediários diretamente no state do Vuex ao percorrer caminhos inexistentes:
if (!current[key]) {
current[key] = {}; // mutação ilegal dentro de getter
}Getters devem ser funções puras de leitura. Essa mutação bypassa completamente o sistema de mutations, tornando as alterações invisíveis para o devtools e quebrando a rastreabilidade de reatividade em toda a aplicação — já que AppData.get() e AppData.exists() em src/helpers/AppData.js passam por esse getter em cada leitura de estado.
Correção
Substituir a criação do nó por um retorno antecipado de false:
if (current[key] === undefined || current[key] === null) {
return false;
}Possíveis impactos
- Código que dependia do efeito colateral do getter para criar nós no estado passará a receber
falseonde antes recebiatrue - Pode expor bugs já existentes mascarados pelo comportamento anterior, especialmente em caminhos acessados pelo
ModuleManageremsrc/helpers/ModuleManager.jsantes de os módulos serem instalados
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels