React.useCallback() все еще повторно отрисовывает дочерний компонент

1) Я передаю метод обработчика onPaginationChange дочернему компоненту (B) как опору из родительского компонента (A)

2) Я использую хуки useState(), поэтому каждый раз, когда я вызываю setFieldName(), родительский компонент выполняет повторную визуализацию, и поэтому дочерний компонент, даже когда обработчик не вызывается.

3) Я пытаюсь использовать ловушку useCallback, чтобы избежать повторного рендеринга дочернего компонента из-за изменения состояния родительского компонента. Но, тем не менее, я вижу, что дочерний компонент перерисовывает множество раз в зависимости от количества изменений состояния родительского компонента.

вот моя функция-обработчик, переданная как аргумент useCallback. Функция Handler получает 2 реквизита currentPageNo, PAGESIZE и я использую CurrentPage как зависимость.

const onPaginationChange = useCallback((currentPageNo, pageSize) => {
    const startRow = (currentPageNo - 1) * pageSize;
    const newData = apiResponse.slice(startRow, startRow + pageSize);

    setCurrentPage(currentPageNo);
    setGridData(newData);
}, [currentPage]);

Дайте мне знать, если вы найдете основную причину проблемы.

0 ответов

Другие вопросы по тегам