@fruits-chain/react-native-xiaoshu
Version:
🌈 React Native UI library
37 lines (36 loc) • 907 B
JavaScript
import React, { memo, useEffect, useRef } from 'react';
import { View } from 'react-native';
import { usePersistFn } from "../hooks/index.js";
import { useElevator } from "./context.js";
import { jsx as _jsx } from "react/jsx-runtime";
const ElevatorNavAnchor = ({
title,
children,
onLayout,
...restProps
}) => {
const {
cancelTarget,
registerTarget
} = useElevator();
const ViewRef = useRef(null);
useEffect(() => {
return () => {
cancelTarget(title);
};
}, [cancelTarget, title]);
const onLayoutPersistFn = usePersistFn(e => {
onLayout?.(e);
registerTarget(title, ViewRef);
});
return /*#__PURE__*/_jsx(View, {
collapsable: false,
...restProps,
ref: ViewRef,
onLayout: onLayoutPersistFn,
children: children
});
};
export default /*#__PURE__*/memo(ElevatorNavAnchor);
//# sourceMappingURL=elevator-nav-anchor.js.map
;