easy-page-router
Version:
easy-page-router is a lightweight and easy-to-use JavaScript routing package that simplifies navigation in vanilla JavaScript, React, and React Native applications.
16 lines (15 loc) • 597 B
JavaScript
import React, { useMemo } from "react";
import { Pressable } from "react-native";
import { useRouter } from ".";
export * from ".";
export function Link({ href, style, styleActive, children, onPress }) {
const { push, href: pageHref } = useRouter();
const isActive = useMemo(() => {
const url = new URL(pageHref);
return url.pathname + url.search === href;
}, [href, pageHref]);
return React.createElement(Pressable, { style: [style, isActive ? styleActive : undefined], onPress: (e) => {
onPress?.(e);
push(href);
} }, children);
}