Начиная с @ reach / router docs :
Перенаправление работает с componentDidCatch для предотвращения рендеринга дерева и запускается заново с новым расположением.
Потому чтоReact не проглатывает ошибку, это может вас беспокоить.Например, перенаправление вызовет наложение ошибки Create React App.В производстве все нормально.Если это вас беспокоит, добавьте noThrow и Redirect выполнит перенаправление без использования componentDidCatch.
Добавление тега noThrow
, кажется, решает эту проблему:
<Redirect noThrow to="/topath" />
Вы также можете попросить Гэтсби сделать это для вас, в gatsby-node.js
:
exports.createPages = ({ actions }) => {
const { createRedirect } = actions
createRedirect({
fromPath: `/`,
toPath: `/topath`,
redirectInBrowser: true,
isPermanent: true,
})
}
См. подробнее здесь .
I 'добавьте это правило перенаправления и на сайт, на котором размещен сайт.