In ReactJS trying to get params but I get property 'id' does not exist on type '{}'
You can specify the type of the matched route parameters in the type parameter of RouteComponentProps
, so the error should disappear if you replace
class FetchData extends React.Component<RouteComponentProps<{}>, FetchDataExampleState> {
with
interface RouteParams {id: string, param2?: string}
class FetchData extends React.Component<RouteComponentProps<RouteParams>, FetchDataExampleState> {
For hooks:
export interface IUserPublicProfileRouteParams {
userId: string;
userName: string;
}
const {userId, userName} = useParams<IUserPublicProfileRouteParams>();
With a React Function Component this would work:
import React from "react";
import { match } from "react-router-dom";
export interface AuditCompareRouteParams {
fileType: string;
}
export const Compare = ({ match }: { match: match<AuditCompareRouteParams> }) => {
console.log(match.params.fileType);
};