2694: Statistics of request count of top clients not always displayed correctly

Close #2694

* commit '9f774d776c524fd7c3f0d270ad27ee8d234bf081':
  2694: Statistics of request count of top clients not always displayed correctly
This commit is contained in:
Artem Baskal 2021-03-05 18:04:49 +03:00
commit 90054974bc
1 changed files with 10 additions and 8 deletions

View File

@ -3,7 +3,7 @@ import React, {
useEffect, useEffect,
useRef, useRef,
} from 'react'; } from 'react';
import { shallowEqual, useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import propTypes from 'prop-types'; import propTypes from 'prop-types';
import throttle from 'lodash/throttle'; import throttle from 'lodash/throttle';
@ -25,19 +25,21 @@ const InfiniteTable = ({
const { t } = useTranslation(); const { t } = useTranslation();
const dispatch = useDispatch(); const dispatch = useDispatch();
const loader = useRef(null); const loader = useRef(null);
const loadingRef = useRef(null);
const { const isEntireLog = useSelector((state) => state.queryLogs.isEntireLog);
isEntireLog, const processingGetLogs = useSelector((state) => state.queryLogs.processingGetLogs);
processingGetLogs,
} = useSelector((state) => state.queryLogs, shallowEqual);
const loading = isLoading || processingGetLogs; const loading = isLoading || processingGetLogs;
const listener = useCallback(() => { const listener = useCallback(() => {
if (loader.current && isScrolledIntoView(loader.current)) { if (!loadingRef.current && loader.current && isScrolledIntoView(loader.current)) {
dispatch(getLogs()); dispatch(getLogs());
} }
}, [loader.current, isScrolledIntoView, getLogs]); }, []);
useEffect(() => {
loadingRef.current = processingGetLogs;
}, [processingGetLogs]);
useEffect(() => { useEffect(() => {
listener(); listener();