Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React router-Hook useHistory错误:无法读取属性';历史';未定义的_Reactjs_React Router - Fatal编程技术网

Reactjs React router-Hook useHistory错误:无法读取属性';历史';未定义的

Reactjs React router-Hook useHistory错误:无法读取属性';历史';未定义的,reactjs,react-router,Reactjs,React Router,我正在尝试使用历史的钩子 我经常遇到以下错误:TypeError:无法读取未定义的属性“history” 这里有一个例子: 从“React”导入React; 从“react router dom”导入{useHistory}; 函数HomeButton(){ 让历史=使用历史(); 函数handleClick(){ 历史推送(“/主页”); } 返回( 回家吧 ); } 函数App(){ 返回( ); } 导出默认应用程序; useHistoryhook仅在路线内部工作 它是将历史对象传递到us

我正在尝试使用历史的钩子

我经常遇到以下错误:TypeError:无法读取未定义的属性“history”

这里有一个例子:

从“React”导入React;
从“react router dom”导入{useHistory};
函数HomeButton(){
让历史=使用历史();
函数handleClick(){
历史推送(“/主页”);
}
返回(
回家吧
);
}
函数App(){
返回(
);
}
导出默认应用程序;

useHistoryhook仅在路线内部工作


它是将历史对象传递到
useHistory
钩子的路径。这就是为什么在这种情况下它是未定义的-没有将历史对象传递给它的路由。

post您的路由配置文件能够解决以下问题:
import React from 'react';
import { useHistory } from "react-router-dom";


function HomeButton() {
  let history = useHistory();

  function handleClick() {
    history.push("/home");
  }

  return (
    <button type="button" onClick={handleClick}>
      Go home
    </button>
  );
}

function App() {
  return (
     <HomeButton />
  );
}

export default App;