export const rootApi = createApi({
reducerPath: 'root',
tagTypes: ['root'],
baseQuery: fetchBaseQuery({ baseUrl }),
endpoints: (builder) => ({
getTable: builder.query({
query: (table) => `${table}`,
keepUnusedDataFor: 120,
})
})
});
export const { useLazyGetTableQuery } = rootApi
export const rootApi = createApi({
reducerPath: 'root',
tagTypes: ['root'],
baseQuery: fetchBaseQuery({ baseUrl }),
endpoints: (builder) => ({
getTable: builder.mutation({
query: (table) => `${table}`
})
})
});
export const { useGetTableMutation } = rootApi
<Skeleton count={3} />
function Box({ children }: PropsWithChildren<unknown>) {
return (
<div
style={{
border: '1px solid #ccc',
display: 'block',
lineHeight: 2,
padding: '1rem',
marginBottom: '0.5rem',
width: 100,
}}
>
{children}
</div>
);
}
// Method 1: Use the wrapper prop
const wrapped1 = <Skeleton wrapper={Box} count={5} />;
// Method 2: Do it "the normal way"
const wrapped2 = (
<Box>
<Skeleton />
</Box>
);
getTable
сразу удаляются старые данные, что ведет к ререндеру пустоты и после загрузки новых происходит второй?Убедиться точно, что новый контент загружен и лишь затем его выводить
useLayoutEffect
нужно добавить в зависимости data
, что позволит избежать моргания