Я изо всех сил пытаюсь добавить компонент <Link/>
в панель приложения-материалов
Это мой класс навигации:
class Navigation extends Component {
constructor(props) {
super(props)
}
render() {
var styles = {
appBar: {
flexWrap: 'wrap'
},
tabs: {
width: '100%'
}
}
return (
<AppBar showMenuIconButton={false} style={styles.appBar}>
<Tabs style={styles.tabs}>
<Tab label='Most popular ideas'/>
<Tab label='Latest ideas' />
<Tab label='My ideas' />
</Tabs>
</AppBar>
)
}
}
Вкладки кликабельны, имеют плавную анимацию, это круто. Но как мне соединить их с react-router
и его компонентом <Link/>
?
Я попытался добавить слушатель onChange
так:
<Tab
label='My ideas'
onChange={<Link to='/myPath'></Link>}
/>
Однако я получаю следующую ошибку:
Uncaught Invariant Violation: Expected onChange listener to be a function, instead got type object
Если я пытаюсь обернуть компонент <Tab/>
компонент <Link/>
, я получаю сообщение об ошибке, что компонент <Tabs/>
принимает только компонент <Tab/>
.
Это тоже не работает (никакой ошибки не возникает, но нажатие на Tab не приводит меня к пути):
<Tab label='Most popular ideas'>
<Link to='/popular'/>
</Tab>
Как заставить компонент <Link/>
работать вместе с <Tabs>
и <AppBar>
? Если это невозможно, я могу использовать любой другой компонент из библиотеки material-ui
чтобы сформировать правильное меню.