Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

setState

Boa tarde, Minha duvida é a seguinte: La em CardNotasa a funcao para deletar a nota serve apenas para repassar o indice para o componente pai 'ListaDeNotas', que por sua vez repassa para 'App.js' para aí sim, se fazer o controle no state no array de notas? É obrigatorio esse fluxo? Se o sistema tiver uma cadeia maior de componentes eu tenho q ficar 'subindo' o indice para poder alterar o state dele apenas no App.js? Assim fica meio complicado, nao? Sera que consigo alterar o state do componente no proprio componente?

1 resposta
solução!

Oi Daniel!

Essa é uma dúvida muito comum quando começamos a aprender gerenciamento de estado com React. O que o instrutor faz durante o curso é chamado de state lift ou elevação de estado, justamente por que tiramos a responsabilidade do filho de guardar o estado e passamos para seu pai.

Para contornar esse problema, pode-se utilizar um hook chamado useContext. Os hooks em geral são ensinados no curso React: Hooks, Contextos e boas práticas, sendo que o useContext é abordado na seção 4. Neste curso você fará a transição de Class Components para Function Components para a utilização dos hooks, mas não se preocupe, o instrutor explicará porque essa mudança será necessária.

Basicamente o useContext vai ser uma função responsável por pegar as informações de estado de um determinado contexto. Todos os componentes dentro desse mesmo contexto podem acessar seu estado com o useContext, eliminando assim a necessidade de passá-lo por props. Para entender o que é um contexto, recomendo que assista as aulas do curso mencionado acima.

Parabéns por ter feito essa reflexão! Qualquer outra dúvida pode postar aqui no forum!