📌  相关文章
📜  'useHistory' 不是从 'react-router-dom' 导出的. - Javascript(1)

📅  最后修改于: 2023-12-03 15:13:02.908000             🧑  作者: Mango

错误:以'useHistory'不是从'react-router-dom'导出的 - Javascript

当在Javascript代码中使用 useHistory 时,有时候会遇到错误提示 以'useHistory'不是从'react-router-dom'导出的

错误原因

该错误通常是由以下原因造成的:

  • 未正确导入 useHistory 方法
  • 使用了过时的 history 方法,而不是使用 useHistory
解决方案
导入正确的方法

确保在Javascript代码文件中导入并使用了 useHistory 方法。通常情况下,我们需要从 react-router-dom 模块中导入 useHistory 方法:

import { useHistory } from 'react-router-dom';
使用正确的方法

在Javascript代码中使用 useHistory 方法,而不是过时的 history 方法。使用 useHistory 方法可以让我们更方便地使用 history 对象。例如:

import { useHistory } from 'react-router-dom';

function Example() {
  const history = useHistory();

  function handleClick() {
    history.push('/new-page');
  }

  return (
    <button onClick={handleClick}>
      Go to new page
    </button>
  );
}

这里的 handleClick 方法使用 history.push 方法,而不是使用过时的 history.pushState 方法。

结论

在Javascript代码中使用 useHistory 方法时,要确保正确导入和使用,以避免出现 以'useHistory'不是从'react-router-dom'导出的 错误提示。