29 lines
802 B
JavaScript
29 lines
802 B
JavaScript
// Metro module 5436 (f5437).
|
|
import _slicedToArray from "./_slicedToArray_5416";
|
|
import { useEffect, useMemo, useState } from "react";
|
|
import { RecyclerViewManager } from "./RecyclerViewManager";
|
|
import { VelocityTracker } from "./VelocityTracker";
|
|
export const useRecyclerViewManager = (a0) => {
|
|
let state2;
|
|
const [state] = useState(() => new RecyclerViewManager(a0));
|
|
state2 = _slicedToArray(useState(() => new VelocityTracker()), 1)[0];
|
|
const data = a0.data;
|
|
useMemo(() => {
|
|
state.updateProps(a0);
|
|
}, [a0]);
|
|
useMemo(() => {
|
|
state.processDataUpdate();
|
|
}, [data]);
|
|
useEffect(() => {
|
|
state.restoreIfNeeded();
|
|
return () => {
|
|
state.dispose();
|
|
state2.cleanUp();
|
|
};
|
|
}, []);
|
|
return {
|
|
recyclerViewManager: state,
|
|
velocityTracker: state2
|
|
};
|
|
};
|