Reactjs 尝试导入错误:';使用历史';不是从';react路由器dom';

Reactjs 尝试导入错误:';使用历史';不是从';react路由器dom';,reactjs,react-hooks,Reactjs,React Hooks,使用给出此错误的历史记录: 未能编译。/src/pages/UserForm/\u UserForm.js尝试导入 错误:“useHistory”未从“react router dom”导出。这 生成时出错,无法排除 反应路由器dom版本: 4.3.1 代码: import React,{useState,Fragment}来自“React”; 从“/FormUserDetails”导入FormUserDetails; 从“/FormPersonalDetails”导入FormPersonalD

使用给出此错误的历史记录:

未能编译。/src/pages/UserForm/\u UserForm.js尝试导入 错误:“useHistory”未从“react router dom”导出。这 生成时出错,无法排除

反应路由器dom版本:

4.3.1

代码:

import React,{useState,Fragment}来自“React”;
从“/FormUserDetails”导入FormUserDetails;
从“/FormPersonalDetails”导入FormPersonalDetails;
从“/确认”导入确认;
从“/Success”导入成功;
从“@material ui/core/Button”导入按钮;
从“@material ui/core”导入{Grid,makeStyles};
从'react router dom'导入{useHistory};
函数UserForm(){
常量[步骤,设置步骤]=使用状态(1);
const history=useHistory();
常量步骤按钮=(道具)=>(
{props.value!=='initial'?
上一步(e)}>返回:
重新生成(e)}>重新生成
}
{
props.value==='确认'?
确认(e)}>确认:
props.value!=“最终”?
下一步(e)}>继续:
无效的
}
);
const nextStep=(e)=>{
e、 预防默认值();
设置步骤(prevState=>prevState+1)
}
const previousStep=(e)=>{
e、 预防默认值();
设置步骤(prevState=>prevState-1)
}
常数重新生成=(e)=>{
e、 预防默认值();
}
常数确认=(e)=>{
history.push(“/”)
}
返回(
你好
)
}
导出默认用户表单

我将react router dom的版本升级为

5.2.0


现在它正在工作。

在react路由器dom V6中,useHistory()被useNavigate()替换

您可以使用:

从“react router dom”导入{useNavigate};
const-navigate=useNavigate();
导航(“/home”)
使用道具的历史记录

history.push('/home'); 
获取历史的示例:-

const functionalComponent = ({ history }) => { /* rest of the code here*/}

您使用什么版本的react路由器dom?react路由器dom:4.3.1 react版本如何?请注意:您需要使用React>=16.8才能使用
useHistory
hook!React版本已经是16.8.4。感谢您指出“react router dom”版本@norbitrialAlso为我使用了5.1.0。
const functionalComponent = ({ history }) => { /* rest of the code here*/}