react使用问题集

2021-02-07  本文已影响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);
上一篇 下一篇

猜你喜欢

热点阅读