Попробовал сделать таким образом, но они все равно загружаются при каждом ререндере компонента
useEffect(() => {
getFirebaseDatabase().ref(`users/${userLogin}/cart`).on('value', (data) => {
let response = data.val();
if (response !== null) {
Object.keys(response).map(key => {
return dispatch(addCartItems(response[key]));
});
}
})
}, []);
useCallback
Так тоже не работает, причем userLogin выводится в консоль только один раз, а response при каждом ререндере. Может неправильно написал? const downloadUserCart = useCallback(() => { getFirebaseDatabase().ref(`users/${userLogin}/cart`).on('value', (data) => { let response = data.val(); console.log(response); }) console.log(userLogin); }, []); useEffect(() => { downloadUserCart() }, [downloadUserCart])
Обсуждают сегодня