Отображение URL на странице 404 в Гэтсби - PullRequest
0 голосов
/ 30 апреля 2018

Gatsby позволяет легко создавать свои собственные страницы 404 документы здесь , но я хотел бы отобразить URL на странице внутри сообщения - что-то вроде:

Не было страницы в /example/nope'.

Есть ли какой-нибудь способ получить доступ к неудачному URL-адресу на странице 404?

Хотя я не могу найти никаких документов, связанных с ним, похоже, что страница 404 получает объект history в качестве одного из своих объектов, однако этот объект на самом деле не содержит никаких исторических URL-адресов, только API для навигации в предыдущее состояние и текущий URL-адрес (/404).

1 Ответ

0 голосов
/ 01 мая 2018

Я посмотрел, как Gatsby обрабатывает его для своей собственной страницы разработки 404, и вот соответствующие строки из `gatsby / dist / internal-plugins / dev-404-page / raw_dev:

 render() {
    const pathname = this.props.location.pathname
    ...
    return (
      ...
        <p>
          {`There's not a page yet at `}
          <code>{pathname}</code>
        </p>
     )
   }

Таким образом, он использует location.pathname объекта props, который ссылается не на текущий 404 URL-адрес страницы, а на URL-адрес страницы, которая вызвала 404.

Примечание: это не будет работать, если вы посетите /404, чтобы увидеть свою собственную страницу 404 в разработке, поскольку 404 не генерируется в ответ на отсутствующую страницу, поэтому location.pathname будет /404

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...