Avoid fetching movies twice on initial load

This commit is contained in:
Bogdan 2025-03-29 19:25:45 +02:00
parent 6e68a91922
commit 74d2259f67
2 changed files with 10 additions and 3 deletions

View file

@ -1,7 +1,6 @@
import React, { useEffect } from 'react';
import { useSelector } from 'react-redux';
import { useParams } from 'react-router';
import { useHistory } from 'react-router-dom';
import { useHistory, useParams } from 'react-router';
import NotFound from 'Components/NotFound';
import usePrevious from 'Helpers/Hooks/usePrevious';
import createAllMoviesSelector from 'Store/Selectors/createAllMoviesSelector';

View file

@ -6,6 +6,7 @@ import React, {
useState,
} from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { useHistory } from 'react-router';
import { SelectProvider } from 'App/SelectContext';
import ClientSideCollectionAppState from 'App/State/ClientSideCollectionAppState';
import MoviesAppState, { MovieIndexAppState } from 'App/State/MoviesAppState';
@ -76,6 +77,8 @@ interface MovieIndexProps {
}
const MovieIndex = withScrollPosition((props: MovieIndexProps) => {
const history = useHistory();
const {
isFetching,
isPopulated,
@ -107,7 +110,12 @@ const MovieIndex = withScrollPosition((props: MovieIndexProps) => {
const [isSelectMode, setIsSelectMode] = useState(false);
useEffect(() => {
dispatch(fetchMovies());
if (history.action === 'PUSH') {
dispatch(fetchMovies());
}
}, [history, dispatch]);
useEffect(() => {
dispatch(fetchQueueDetails({ all: true }));
}, [dispatch]);