1
resposta

removeDados() is not a function

Quando estava fazendo o exercício, ao usar a

<CellDeleta id = {dado.id} removeDados = {removeDados}/>

até renderizava na tela, mas dava o erro de removeDados() is not a function. A CellDeleta estava assim:

const CellDeleta = ( id, removeDados ) => (
    (
        <TableCell>
            <Button onClick={() => {removeDados(id)} }
                variant="contained"
                color="primary"
            >
                <DeleteIcon />
            </Button>
        </TableCell>
    )
)

Atente-se aos parâmetros, pois quando mudei para:

const CellDeleta = ( {id, removeDados} ) => 

Funcionou, com {} não dava mais o erro de "removeDados() is not a function". Porque isso aconteceu? Qual o significado das {}?

1 resposta

Oi, Pedro, tudo bem?

Quando passamos por parâmetros esses atributos para props, precisamos extrai-los. A forma de extrair os valores dessas props que definimos, no caso, id e removeDadosé usando chaves.