【发布时间】:2021-02-08 16:18:24
【问题描述】:
我很难将类组件转换为函数式组件。我已经看过多个执行此任务的示例,但我仍然了解基础知识。如何使用 useState 和 useEffect 钩子将我的代码更改为功能组件,也许如果有人有一些资源可以找到关于这个主题的最佳实践?这是我要转换的代码示例:
import React, { Component } from "react";
import { storeProducts, detailProduct } from "./data";
const ProductContext = React.createContext();
//Provider
//Consumer
class ProductProvider extends Component {
state = {
products: [],
detailProduct: detailProduct
};
componentDidMount() {
this.setProducts();
}
setProducts = () => {
let tempProducts = [];
storeProducts.forEach(item => {
const singleItem = {...item};
tempProducts = [...tempProducts, singleItem];
})
this.setState(() => {
return {products: tempProducts }
});
};
handleDetail = () => {
console.log("hello from detail");
};
addToCart = () => {
console.log("hello from addToCart");
};
render() {
return (
<ProductContext.Provider value={{
...this.state,
handleDetail: this.handleDetail,
addToCart: this.addToCart
}}>
{this.props.children}
</ProductContext.Provider>
);
}
}
【问题讨论】:
标签: reactjs react-hooks react-functional-component