массив данных. Потом мне из этого массива, надо получить 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(); }, []);
Обсуждают сегодня