Pesquisa de site

typescript - Os parâmetros de consulta no pathname do Nextjs estão sendo decodificados


Estamos ingerindo alguns dados de uma API onde usamos a URL para navegar pelo aplicativo. No nosso componente de link, estamos passando uma URL como <Link href={{ pathname: url , someOtherProperty }} /> onde a URL se parece com /path-to-page?query=value, mas quando olho no cliente, estou vendo que a URL está sendo retornada como /path-to-page%3Fquery=value. A URL está correta quando não estamos passando um objeto para href, como em <Link href={url} />. decodeURIComponent também não funciona quando passamos a URL para pathname, porque está tecnicamente correta até ser renderizada para o cliente.

Alguma ideia?

Resposta #1

Ao usar um objeto URL na propriedade href do Link, o valor que você passar para pathname será codificado em percentagem. Se você precisar passar parâmetros de consulta, pode simplesmente usar a propriedade query.

<Link href={{
    pathname: '/path-to-page',
    query: { query: 'value' }
}}>