переделать setState классового компонента на функциональный
fetch = (id) => {
this.setState({ loading: true }, async () => {
const { type, content: documents } = await documentPassing(id);
this.setState({ loading: false }, () => {
if (type === 'ok') {
this.setState({ documentsPassing: documents });
} else {
this.setState({ documentsPassing: [] });
}
});
});
}
Не изобретать велосипед и использовать useEffect?
А зачем он тут вообще нужен?
Никак, его нет
а как я смогу его использовать? у меня метод отрабатывает по клику на таблицу и подставляется id строки
Только не для SSR=) https://www.npmjs.com/package/use-state-with-callback
это не лучшая практика
ага, но чувак спросил именно это )
ты бы лучше подсказал, как правильно) const [ loading, setLoading ] = useState(false) useEffect(() =>{ // use setLoading here }, [])
а как использовать useEffect если у меня метод fetch отрабатывает в onClick таблицы? id строки передается потом в запрос
какая разница? что эффект, что обработчик клика - это просто функции вытащить обработичк во внешнюю функцию, и использовать setLoading в ней 🤷♂️
Тут какое дело. Нет абсолютно никакой пользы в этом примере от использование коллбэка
Обсуждают сегодня