@etsoo/react
Version:
TypeScript ReactJs UI Independent Framework
15 lines (12 loc) • 395 B
text/typescript
import { DataTypes, DomUtils } from "@etsoo/shared";
import { useParams } from "react-router";
/**
* Extended useParams of react-router-dom
* Provide exact type data
*/
export function useParamsEx<T extends DataTypes.BasicTemplate>(template: T) {
// Get parameters
const params = useParams<{ [K in keyof T]: string }>();
// Return
return DomUtils.dataAs(params, template, false);
}