首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Gatsby重定向至主页,而不是显示404页

Gatsby重定向至主页,而不是显示404页
EN

Stack Overflow用户
提问于 2018-08-06 15:15:38
回答 4查看 17K关注 0票数 23

有没有可能以某种方式将用户重定向到主页(/),而不是显示404页面?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-08-08 19:24:09

Gatsby从src/pages/404.jsx (如果不使用jsx扩展,则为404.js )创建404页面。因此,创建一个重定向到主页的组件应该是这样的:

代码语言:javascript
复制
import React from 'react';

export default function NotFound() {
  if (typeof window !== 'undefined') {
    window.location = '/';
  }

  return null;
}
票数 11
EN

Stack Overflow用户

发布于 2019-05-22 05:59:41

这里的其他答案最终会失败,因为在构建时没有定义window对象。改用这个。useEffect钩子等同于componentDidMount

代码语言:javascript
复制
import { useEffect } from 'react';
import { navigate } from "@reach/router"

export default () => {
  useEffect(() => {
    navigate('/your-redirect/');
  }, []);
  return null;
};
票数 57
EN

Stack Overflow用户

发布于 2018-11-30 17:40:32

您可以执行以下操作:

代码语言:javascript
复制
import React from 'react'
import { Redirect } from '@reach/router'

const NotFoundPage = () => <Redirect to="/" />

export default NotFoundPage
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51702369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档