#reactjs #typescript
Вопрос:
Не могли бы вы помочь мне, пожалуйста, ввести history.GoBack в React? На данный момент я использую любой тип, но я думаю, что это неправильный способ.
Main.tsx
...
<Route path={PAGE_404} component={Page404} />
Страница 404.tsx
const Page404: React.FC<RouteComponentProps> = ({ history }) => {
return (
<section className={styles.section}>
<GoBackLink text={'Назад'} onGoBackClick={() => history.goBack()} />
...
</div>
</section>
);
};
export default Page404;
GoBackLink.tsx с интерфейсом и введите любой для ключа onGoBackClick
interface IGoBackLinkProps {
text: string;
onGoBackClick: any;
}
const GoBackLink: React.FC<IGoBackLinkProps> = ({ text, onGoBackClick }) => {
return (
<Link className={styles.link} to='/' onClick={onGoBackClick}>
{text}
</Link>
);
};
export default GoBackLink;
Ответ №1:
Вы можете использовать onGoBackClick: () => void
или onGoBackClick: Function
Комментарии:
1. Большое спасибо. Только один question…is это лучшая практика для таких случаев?
2. используйте
Function
с вами, не передавайте в него параметры.() => void
если вы хотите пройти
Ответ №2:
interface IGoBackLinkProps {
text: string;
onGoBackClick(): void;
}
…если вам не нужны никакие параметры и вас не волнует возвращаемое значение в этой функции обратного вызова.