score:1

Accepted answer

return array of array problem

i think this function should little fix.

the function right now:

  function atualizarcadastros(novocadastro){
    setcadastros(cadastrosatuais => {
      return [cadastrosatuais, novocadastro]
    })
  }

when we call atualizarcadastros({ c: 3 }), and we have cadastrosatuais = [{ a: 1 }]

we get new cadastros as [[{ a: 1 }], { c: 3 }].

but we want to get [{ a: 1 }, { c: 3 }]

so we can use spread syntax:

function atualizarcadastros(novocadastro) {
  setcadastros(cadastrosatuais => {
    return [...cadastrosatuais, novocadastro];
  })
}

or better use concat:

function atualizarcadastros(novocadastro) {
  setcadastros(cadastrosatuais => {
    return cadastrosatuais.concat(novocadastro);
  })
}

score:1

when you write like this

setcadastros({'id': id, 'nome': nome, 'cpf': cpf, 'rg': rg, 'data_nasc': nascimento, 'sexo': sexo})

atualizarcadastros(novocadastro)

novocadastro contains an old one as its value was read before setcadastros was called, so you can create an object and pass it to both: local state handler and to parent component function

const supernovocadastro = {'id': id, 'nome': nome, 'cpf': cpf, 'rg': rg, 'data_nasc': nascimento, 'sexo': sexo}

setcadastros(supernovocadastro)
atualizarcadastros(supernovocadastro)

Related Query

More Query from same tag