TypeError:无法读取未定义的属性“ params”(Reactjs路由器)

时间:2020-01-31 07:29:54

标签: javascript reactjs ecmascript-6 axios

我正在尝试使用reactjs以及php和mysql构建一个CRUD Web应用程序。 插入操作成功。在编辑操作中,我必须传递一个id,我这样做是:

<Link  to={"/edit/"+this.props.obj.id} className="btn btn-primary">edit</Link>  </td>

其路由器导航为:

 <Route exact path='/edit/:id'> <Edit/> </Route>

,它工作正常。它导航到具有其ID的编辑路径,然后在Edit类中,我想使用该ID从PHP页面获取数据:

class Edit extends Component {
constructor(props) {
    super(props)
    this.onChangeEmail = this.onChangeEmail.bind(this);
    this.onChangePass = this.onChangePass.bind(this);
    this.onSubmit=this.onSubmit.bind(this);

    this.state = {

         email: '',
        password : ''

    }
}

 componentDidMount(props){
     axios.get('/edit.php?id=' + this.props.match.params.id)
     .then(res => this.setState({
         email: res.data.email,
         password :res.data.password
     })).catch(e=> console.log(e))

 }

这对我不起作用,但对我浏览他的视频的人有用。请帮助解决此问题。

0 个答案:

没有答案