我正在尝试迁移一个类组件以使用钩子(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.historyprops.locationprops 注入(inject)的特殊 withRouter ,它适用于 classfunctional 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/

10-13 03:54