массив данных. Потом мне из этого массива, надо получить id и сделать еще один асинхронный запрос уже с полученным id. Понимаю, что тут можно легко наговнокодить, каким лучшим образом это реализовать? Я сделал как две функции, норм?
const fetchData = useCallback(() => {
api
.query('get', `request`)
.then((res) => {
return res.json();
})
.then((data) => {
setList(data);
})
.catch((err) => {
setError(err);
});
}, []);
useEffect(() => {
fetchData();
}, [fetchData]);
const previewData = useCallback((id) => {
api
.query('get', `request2/${id}`)
.then((res) => {
return res.json();
})
.then((data) => {
return data;
// setPreview(data);
})
.catch((err) => {
setError(err);
});
}, []);
промежуточный id нужен только для второго запроса?
да, но запросы проходят по разным урлам
const fetchData = async () => { const rawData = await api .query('get', `request`) const data = await rawData.json() const finalData = api.query('get', `request2/${data.id}`) setPreview(finalData) } useEffect(() => { fetchData(); }, []);
Обсуждают сегодня