1
resposta

Erro ao usar AsyncStorage.multiGet(todasChaves)

Boa note amigos,

Quando criei a função mostrarNotas() dentro do APP, ao atualizar o estado de variável notas, no setNotas(todasNotas) ele apresenta um erro abaixo:

O argumento do tipo 'readonly KeyValuePair[]' não é atribuível ao parâmetro do tipo 'SetStateAction<never[]>'. O tipo 'readonly KeyValuePair[]' é 'readonly' e não pode ser atribuído ao tipo mutável 'never[]'.ts(2345)

![Insira aqui a descrição dessa imagem para ajudar na acessibilidade](https://cdn1.gnarususercontent.com.br/1/4155623/c99dd989-9e2c-4450-affc-c1e99a6c0e56.png)  

  async function mostrarNotas(){
    const todasChaves = await AsyncStorage.getAllKeys()
    const todasNotas = await AsyncStorage.multiGet(todasChaves)
    setNotas(todasNotas);
    console.log(notas)
  
  }
1 resposta

Olá, Aleir!

Você está enfrentando um problema com o AsyncStorage e o uso do método multiGet. O erro que você está vendo é porque o código está reclamando que o tipo de dados que você está tentando usar no setNotas não é o tipo que ele espera.

O AsyncStorage.multiGet retorna um array de arrays (um array de pares chave-valor), enquanto parece que seu estado "notas" espera um array de um tipo diferente.

Mas de toda forma peço que revise o seu código com o do instrutor no repositório da aula, a fim de parear o seu código por completo.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software