у меня есть 2 компонента.Каждый из них на своем пути.
У меня есть компонент <Link>
в первом компоненте, и когда я щелкаю по нему, второй компонент должен отображаться.URL после # меняется нормально, но в интерфейсе ничего не происходит.
Это основной компонент:
export default class IntegrationApp extends React.PureComponent {
render() {
return (
<>
<Route path="/details/:encryptedId/:integrationType/" component={DetailsOverview} />
<Route exact path="/:integrationSource?/" component={IntegrationsOverview} />
</>
);
}
}
ReactDOM.render(
<HashRouter>
<IntegrationApp />
</HashRouter>
, document.getElementById('integrationsOverviewContainer'));
<Link>
- это пользовательский компонент.
Это выглядит так:
export default class LinkForRouting extends React.PureComponent {
render() {
let cssClass = this.props.isButton ? ' btn ' : '';
cssClass += this.props.isPrimary ? ' btn-primary ' : '';
cssClass += this.props.customCssClass ? this.props.customCssClass : '';
const clickEvent = this.props.handleClick ? () => this.props.handleClick() : ()=> function () { return null };
return (
<Link to={this.props.path} replace={true} className={cssClass} onClick={clickEvent}>
{this.props.children}
</Link>
);
}
}
Компонент <Link>
используется внутри компонента <IntegrationsOverview>
, например:
<LinkForRouting path={`/details/${integration.encryptedId}/${integration.integrationType}`} isButton={false} isPrimary={false} > Vis </LinkForRouting>
Если я нажимаюпосле ссылки, а затем нажмите F5
, тогда компонент <DetailsOverview>
будет работать нормально, но если я просто нажму на ссылку, то URL-адрес просто изменится, и ничего не произойдет.Любая идея о том, как вызвать компонент <DetailsOverview>
, чтобы вызвать, когда я нажимаю на компонент <Link>
?