1
resposta

erro para passar ID

O meu aparce esse erro quando tento passar um parametro na url, acredito q o erro esteja no jeito q eu estou usando o useParams:

import { useParams } from "react-router-dom"

const Teste = ()=>{ const referencia = useParams(); console.log(teste: ${referencia}) return(

{referencia}

) }

export default Teste

Erro que aparece:

Objects are not valid as a React child (found: object with keys {id}). If you meant to render a collection of children, use an array instead.

1 resposta

Oi Leonardo. Tudo bem?

O useParams retorna um objeto com os parâmetros da URL. No seu caso, parece que você está tentando renderizar esse objeto diretamente, o que está causando o erro.

Vamos supor que a URL que você está tentando acessar seja algo como /teste/123. O objeto retornado pelo useParams seria { id: '123' }.

Se você quer renderizar o valor do ID, você precisa acessar essa propriedade do objeto. No seu código, você pode fazer isso alterando a linha onde você tenta renderizar a referência:

<h1>{referencia.id}</h1>

Isso deve renderizar o valor do ID na sua página.

Assim:

import { useParams } from "react-router-dom"

const Teste = ()=>{
    const referencia = useParams();
    console.log(`teste: ${referencia.id}`)
    return(
        <h1>{referencia.id}</h1>
    )
}

export default Teste

Se não der certo, peço que mande seu projeto no GitHub, assim posso fazer testes;

Um abraço.

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