#reactjs #pagination #graphql #apollo #infinite-scroll
#reactjs #разбивка на страницы #graphql #аполлон #бесконечная прокрутка
Вопрос:
поэтому я подаю в суд на react с клиентом apollo. У меня есть компоненты с бесконечной прокруткой, которые работают:
<Paginate
hasNextPage={meta?.hasNextPage ?? false}
loading={paginateLoading}
onLoadMore={() => {
setPaginateLoading(true);
fetchMore({
variables: {
pagination: {
limit: 20,
page: meta?.nextPage,
},
}}).then(() => setPaginateLoading(false));
И у меня была там функция updateQuery, от которой я хочу избавиться. Так что у меня есть:
const cache = new InMemoryCache({
typePolicies: {
Query: {
fields: {
myField: {
merge(existing, incoming, { mergeObjects }) {
return mergeObjects(existing, incoming);
},
},
И его выборка и выборка, но данные не обновляются. Некоторые случаи:
myField: relayStylePagination(),
Результат: данные меняются после каждой выборки (OK!) Но не объединено (то, что я хочу).
myField: concatPagination()
Результат:
×
Unhandled Rejection (RangeError): Invalid array length
__spreadArrays
node_modules/tslib/tslib.es6.js:152
merge
/src/utilities/policies/pagination.ts:15
12 | export function offsetLimitPagination(keyArgs) {
13 | if (keyArgs === void 0) { keyArgs = false; }
14 | return {
> 15 | keyArgs: keyArgs,
16 | merge: function (existing, incoming, _a) {
17 | var args = _a.args;
18 | var merged = existing ? existing.slice(0) : [];
Есть идеи?
Комментарии:
1. Здравствуйте, можете ли вы помочь мне с решением, если вы его нашли?