#node.js #json #reactjs #react-redux #react-hooks
#node.js #json #reactjs #реагировать-redux #реагирующие крючки
Вопрос:
Я хочу преобразовать этот компонент класса в функциональный компонент. Я много пробовал и потерпел неудачу. Есть ли решение проблемы?
componentDidMount(){
const id = this.props.match.params.id;
getById( parseInt(id) )
.then(product => {
this.setState({
product,
loading: false
});
})
}
Комментарии:
1. Возможно, вы можете добавить еще несколько деталей к своему вопросу и с какими проблемами вы боретесь
Ответ №1:
Следующий фрагмент равен 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)
})
}, []);
Комментарии:
1. Как мне изменить это, чтобы оно работало со мной: const id = this.props.match.params.id ; GetById( parseInt(id) ) .затем(product => { this.setState({ product, загрузка: false }); })
2. Я подбросил вам черновую идею
3. Как мне это изменить. Реквизит
4.
props
является аргументом вашего функционального компонента:const YourComponent = (props) => { //... }