Я использую React Js в своем проекте и компонент Material UI Tabs для навигации между двумя компонентами.
Когда я перехожу на вкладку 2 или вкладку 1, щелкая по ней, мой компонент отображается, и маршрут изменяется, но индикатор вкладки не обновляется на активной вкладке.
Я уже пытался обновить состояние при нажатии кнопки, но это не работает
class NavBars extends React.Component {
state = {
value: 0,
};
handleChange = (event, value) => {
this.setState({ value });
console.log(this);
};
navigateToTab2 = () => {
this.setState({ value: 1 });
console.log(this.state);
this.props.history.push('/tab2');
}
navigateToTab1 = (facility, event) => {
this.setState({ value: 0 });
console.log(this.state);
this.props.history.push('/tab1', {
facilityId: facility.facilityId,
facilityName: facility.facilityName,
});
}
render() {
const { classes } = this.props;
const { value } = this.state;
return (
<div className={classes.root}>
<Tabs
value={value}
onChange={this.handleChange}
classes={{ root: classes.tabsRoot, indicator: classes.tabsIndicator }}
>
<Tab
disableRipple
classes={{ root: classes.tabRoot, selected: classes.tabSelected }}
label="Tab 1"
onClick={this.navigateToTab1}
/>
<Tab
disableRipple
classes={{ root: classes.tabRoot, selected: classes.tabSelected }}
label="Tab 2"
onClick={this.navigateToTab2}
/>
</Tabs>
</div>
);
}
}
Я ожидаю, что когда я нажимаю на вкладку 1, он должен перейти на вкладку 1 и отобразить этот компонент с индикатором вкладки на вкладке 1, а когда я нажму на вкладку 2, он должен перейти на вкладку 2 и отобразить компонент вкладки 2 с индикатором вкладки на вкладке 2 < a href="https://i.stack.imgur.com/YRaqs.png" rel="nofollow noreferrer">