Установка опоры для страницы таблицы реакции приводит к тому, что onFetchData всегда запрашивает ту же страницу - PullRequest
0 голосов
/ 10 января 2019

Предположим, что наш контейнерный компонент принимает информацию фильтра / сортировки / подкачки в строке запроса. Эта информация извлекается из URL в componentWillMount и устанавливается в состояние контейнера. Это состояние (скажем, просто page) затем передается нашему экземпляру таблицы реакции как page prop. Мы подключаем onFetchData как onFetchData={state => fetchData(state)}. В нашей функции fetchData мы извлекаем переданные в таблицу реакции значения page и pageSize и срезаем наши данные, а затем устанавливаем их в наше состояние. Затем функция рендеринга запускается снова, извлекает наши значения состояния и устанавливает их на подпорках таблицы.

Звучит разумно, однако, похоже, что этот цикл render> onFetchData происходит без конца, пока браузер не сгенерирует ошибку «Максимальная глубина обновления превышена».

Мы должны иметь возможность установить начальную страницу при первой загрузке нашего компонента, но таблица реагирования выглядит не так.

Обновление

Это оказалось ошибкой в ​​таблице реакций, для которой я послал PR:

Ошибка: https://github.com/react-tools/react-table/issues/1230

PR: https://github.com/react-tools/react-table/pull/1231

Репро: https://codesandbox.io/s/50knlro2xn

1 Ответ

0 голосов
/ 10 января 2019

Для вашего обновления это выглядит как результат ошибки. Вот обходной путь для тех, кому это нужно:

Если вы хотите установить начальное состояние страницы, вы можете установить начальный номер страницы в состоянии во время componentWillMount. См .: codesandbox.io / s / 1o49po0rvl

...