У меня есть таблица пользовательского интерфейса материала, которая заполняет записи при прокрутке с использованием датчика видимости реагирования и запроса React Apollo GraphQL. Когда я нажимаю на конкретную запись, она перерисовывает страницу, что приводит к разрыву прокрутки, и в таблице не отображаются записи. Можете ли вы помочь в устранении этой ошибки. Любая помощь приветствуется.
У меня есть метод onclick, который заполняет таблицу кликов.
onClick={() =>
callBack({
row: index,
eventDetails: JSON.stringify(messageJson, null, 1),
})
}
Вот так я получаю больше записей и использую датчик видимости, чтобы заполнить их при прокрутке
{({ data, fetchMore }: QueryResult) => {
return data.vitm_truck_message
? data.vitm_truck_message.map(
(rowData: DataRowProps, index: number) => {
const visibilitySensorKey = rowData.message_type.name
.concat(rowData.message_sub_type.name)
.concat(rowData.created_time);
return containmentDOMRect ? (
<VisibilitySensor
key={visibilitySensorKey}
containment={containmentDOMRect.current || undefined}
scrollCheck
onChange={isVisible =>
isVisible && index % LOAD_SIZE === 0 && index >= LOAD_SIZE
? fetchMore({
variables: {
offset: data.vitm_truck_message
? data.vitm_truck_message.length
: offsetValue,
},
updateQuery: (
prev: any,
{ fetchMoreResult }: any,
) => {
if (
fetchMoreResult.vitm_truck_message.length !== 0
) {
offsetValue = data.vitm_truck_message.length;
fetchMoreResult.vitm_truck_message.forEach(
(element: object) => {
data.vitm_truck_message.push(element);
},
);
}
return prev;
},
})
: undefined
}
>
<DataRowComponent
{...rowData}
index={index}
selectedRow={selectedRow}
callBack={callBack}
/>
</VisibilitySensor>
) : null;
},
)
: null;
}}
Пожалуйста, дайте мне знать, если вы хотите, чтобы я поделился любой другой информацией. Спасибо.