Я только что открыл свой проект в другом домене (рабочий URL), и когда я открыл сетевые запросы, я увидел это:
https://i.imgur.com/NxgTmIf.mp4
Это заняло вечность (8 минут или больше.) и мой процессор был чертовски горячим, что я сделал не так?
Мое приложение довольно простое, я подозреваю, что корень этого блока кода:
const [items, setItems] = useState([]);
const publish = async () => {
const batch = firestore.batch();
items.forEach(({ id }, index) => {
batch.update(firestore.collection('v1').doc(id), { '#': index });
});
await batch.commit();
};
const onCompletion = querySnapshot => {
const arr = [];
querySnapshot.forEach(document => {
const { vid: { id: vid }, '#': index } = document.data();
const { id } = document;
arr.push({ id, vid, index });
});
setItems(arr);
};
useEffect(() => {
const unsubscribe = firestore
.collection('v1')
.orderBy('#')
.onSnapshot(onCompletion);
return () => {
unsubscribe();
};
}, []);
useEffect(() => { publish(); }, [items]);
const handleSortEnd = ({ oldIndex, newIndex }) => {
if (oldIndex === newIndex) {
return;
}
setItems(arrayMove(items, oldIndex, newIndex));
};
В основномдля этого нужно загрузить список видео из плейлиста в коллекцию пожарного магазина, а затем после того, как пользователь добавит новое видео или снова переместится вверх / вниз, сохранит.
Любые подсказки?
Редактировать: послеэто безумие приложение делает несколько запросов и работает как положено.