Bri*_*y G 5 javascript navigation navbar reactjs material-ui
对编码空间来说还很新。我尝试到处寻找该问题的答案,尽管我找到了很多答案,但没有一个对我有用。
我的问题是我想将@ Material-UI选项卡组件用作NavBar,而我似乎只能1.将选项卡变成可以使用但没有动画或指示器的静态链接,或者2.保留动画但就更改页面而言,没有任何功能。
我已经尝试过this,this,this以及更多内容,以及其中每个答案中的许多答案。
编辑:这是一个Git回购。
这是我的NavBar组件,当前处于状态#2,它具有动画,但没有功能:
import React from 'react';
import { Paper, Tabs, Tab } from '@material-ui/core';
const navStyle= {
backgroundColor: '#220000',
color: '#fff',
}
export class NavBar extends React.Component {
state = {
value: 0,
};
handleChange = (event, value) => {
event.preventDefault();
this.setState({ value });
console.log(value)
};
render() {
return (
<div>
<Paper>
<Tabs
value={this.state.value}
onChange={this.handleChange}
indicatorColor={"secondary"}
// textColor="secondary"
centered
style={navStyle}
>
<Tab label="Home" href='/' />
<Tab label="About" href='/about' />
</Tabs>
</Paper>
</div>
)}
}
Run Code Online (Sandbox Code Playgroud)
依赖项:
"@material-ui/core": "^1.3.1",
"history": "^4.7.2",
"prop-types": "^15.6.2",
"react": "^16.4.1",
"react-dom": "^16.4.1",
"react-router-dom": "^4.3.1",
"react-scripts": "1.1.4"
Run Code Online (Sandbox Code Playgroud)
您可以像在您链接的第一个示例中那样将您的Tab
组件制作成 React RouterLink
组件。
请确保不要参加preventDefault
该handleChange
活动,因为这会阻止链接工作。
例子
class App extends React.Component {
state = {
value: 0
};
handleChange = (event, value) => {
this.setState({ value });
};
render() {
return (
<BrowserRouter>
<div>
<Paper>
<Tabs
value={this.state.value}
onChange={this.handleChange}
indicatorColor={"secondary"}
centered
style={navStyle}
>
<Tab label="Home" to="/" component={Link} />
<Tab label="About" to="/about" component={Link} />
</Tabs>
</Paper>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
</Switch>
</div>
</BrowserRouter>
);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1567 次 |
最近记录: |