提问者:小点点

我想把这个类组件转换成函数组件。我试了很多,都失败了。有没有解决问题的办法?


//我想把它转换成一个函数钩子

componentDidMount(){

const id = this.props.match.params.id;

getById( parseInt(id) )
.then(product => {

  this.setState({
      product,
      loading: false
  });

})

}


共1个答案

匿名用户

以下代码段等于类Component中的ComponentDidMount:

// ...
const [loading, setLoading] = React.useState(false);
const [product, setProduct] = React.useState(void 0);

React.useEffect(() => {
  // Did mount, put your code here
  setLoading(true)
 
  // Fetch done
  .then(product => {
    setLoading(false)
    setProduct(product)
  })

}, []);