美文网首页
react使用问题集

react使用问题集

作者: 晚饭总吃撑 | 来源:发表于2021-02-07 09:26 被阅读0次

setState是浅合并

export default class Test extends Component{
  state = {
    user:{
      name:"aaa",
      age:18
    }
  }

  componentDidMount(){
    //这样设置user时,age状态会丢失
    this.setState({
      user:{
        name:"bbb"
      }
    })
     //应该使用如下方式设置
    this.setState((prevState)=>({
      user:{
        ...prevState.user,
        name:"bbb"
      }
    }))
  }
}

关于react组件无法获取history属性的问题

withRouter高阶组件,提供了history让你使用

import React from "react";
import {withRouter} from "react-router-dom";

class MyComponent extends React.Component {
  ...
  myFunction() {
    this.props.history.push("/some/Path");
  }
  ...
}
export default withRouter(MyComponent);

相关文章

网友评论

      本文标题:react使用问题集

      本文链接:https://www.haomeiwen.com/subject/wsaatltx.html