24 lines
737 B
JavaScript
24 lines
737 B
JavaScript
import { useEffect, useState } from 'react';
|
|
import { getLatestReview, getReviewHistory } from '../../../api';
|
|
|
|
export default function useReview() {
|
|
const [latest, setLatest] = useState(null);
|
|
const [history, setHistory] = useState([]);
|
|
const [loading, setLoading] = useState(true);
|
|
|
|
useEffect(() => {
|
|
let cancel = false;
|
|
Promise.all([getLatestReview(), getReviewHistory(4)])
|
|
.then(([l, h]) => {
|
|
if (cancel) return;
|
|
setLatest(l);
|
|
setHistory(h);
|
|
})
|
|
.catch(() => {})
|
|
.finally(() => !cancel && setLoading(false));
|
|
return () => { cancel = true; };
|
|
}, []);
|
|
|
|
return { latest, history, loading };
|
|
}
|