Fiquei curioso para entender como o setState
funciona por trás da cortina. Sendo que no projeto temos o state
como um objeto com duas propriedades (notas
e categoria
):
this.state = {
notas: [],
categorias: [],
};
E nas funções criarNota
, adicionarCategoria
, deletarNota
setamos o estado atualizado mas passando apenas uma propriedade (notas
OU categoria
):
deletarNota(index) {
let arrayNotas = this.state.notas;
arrayNotas.splice(index, 1);
this.setState({ notas: arrayNotas });
}
Eu imaginaria que no caso acima por exemplo, o setState
iria sobrescrever o estado inteiro pelo objeto recebido apenas com as notas, perdendo as informações das categorias.
No entanto, aparentemente o setState
é inteligente o bastante para manter tudo como estava e atualizar somente o que foi passado.