我正在尝试迁移一个类组件以使用钩子(Hook)运行,但是在尝试使用我的 history.push 更改 url 时遇到问题。
使用我的类组件,这是更改 url 的方法:
constructor(props) {
super(props)
this.state = {
// GeneralValidate: false,
paisValue: '',
paisError: true,
loading: false,
tipo: '',
};
}
.//more code here
this.props.history.push({
pathname: '/Pais',
state: { detail: 'hola' }
})
并且工作正常,但在我的函数组件中, Prop 为空,我不知道如何使用 history.push。
const PaisForm = (props) => {
props.history.push("/Pais")
}
我在做什么错?感谢和抱歉的问题!
最佳答案
props.history
和 props.location
是 props
注入(inject)的特殊 withRouter
,它适用于 class
和 functional components
import { withRouter } from 'react-router-dom'
export const Component = withRouter(({ history, location }) =>{
})
class Comp extends Component {
render(){
const { location, history } = this.props
}
}
export default withRouter(Comp)
关于javascript - 用于历史推送的 React Hooks 中等效的构造函数 Prop ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58122219/