ScrollMotion
What a Scroll or a List moves as it scrolls, every frame on the UI thread (docs/motion.md#motion-sources). Only the view writes them: follow them, map them or bind props to them.
Verwendung
Scroll a list in a test.
Dieser Typ wird verwendet von List
// Scroll a list in a test.
import { List, Text } from 'kuito';
import { assert, render, screen, scroll, test } from 'kuito/tests';
const rows = Array.from({ length: 200 }, (_, index) => `Row ${index}`);
const Long = () => <List data={rows} renderItem={({ item }) => <Text height={44}>{item}</Text>} />;
test('rows far down bind once the list scrolls to them', async () => {
await render(<Long />);
assert.equal(screen.queryByText('Row 150'), null);
await scroll(screen.getByText('Row 0'), { y: 150 * 44 });
assert.ok(screen.getByText('Row 150'));
});Typdeklaration
export interface ScrollMotion {
/** Points along the view's axis from the start of its content, within its scroll range. */
readonly offset: Motion<number>;
/** Points per second toward the content's end; 0 once it has been still for 1/30 s, and for a first move from rest. */
readonly velocity: Motion<number>;
/** Points pulled past an end, negative before the start; 0 within the range. */
readonly overscroll: Motion<number>;
}Mitglieder 3
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
offsetschreibgeschützt | Motion<number> | Ja | Points along the view's axis from the start of its content, within its scroll range. |
velocityschreibgeschützt | Motion<number> | Ja | Points per second toward the content's end; 0 once it has been still for 1/30 s, and for a first move from rest. |
overscrollschreibgeschützt | Motion<number> | Ja | Points pulled past an end, negative before the start; 0 within the range. |
Generiert aus den öffentlichen TypeScript-Deklarationen: Signaturen, Props und Standardwerte stammen aus der geprüften Quelle, Beschreibungen aus deren JSDoc. Kein Standardwert ist erfunden.