首页 > 解决方案 > react-router-dom history.goBack() 在 Firefox 和 Safari 上不起作用

问题描述

我有一个这样的组件(简化版)

import React, {Fragment, useEffect, useState} from 'react';
import {Link, useHistory, useParams} from 'react-router-dom';

const MyComponent = () => {
  let history = useHistory();

  const handleGoBack = () => {
    console.log('going back...');
    history.go(-1); // or history.goBack();
  };

  return (
    <Fragment> 
      <Link to="#" onClick={handleGoBack}>&lt; Back</Link>
    </Fragment>
  );
}

它在 chrome 中按预期工作。在 Firefox 和 safari 中根本不工作。控制台显示 handleGoBack 函数按预期调用,但 history.goBack 仅在 chrome 上执行。有什么想法吗?

标签: reactjsreact-routerreact-router-dom

解决方案


问题不在于您提供的代码,而在于其他方面。我根据您的代码片段创建了Codesandboxhistory.go(-1) ,并且正在使用最新版本的 Firefox 和 Safari


推荐阅读