我有以下几点:
我如何摆脱蓝色下划线?代码如下:
<Link to="first"><MenuItem style={{paddingLeft: 13, textDecoration: 'none'}}> Team 1 </MenuItem></Link>
MenuItem 组件来自http://www.material-ui.com/#/components/menu
我有以下几点:
我如何摆脱蓝色下划线?代码如下:
<Link to="first"><MenuItem style={{paddingLeft: 13, textDecoration: 'none'}}> Team 1 </MenuItem></Link>
MenuItem 组件来自http://www.material-ui.com/#/components/menu
我看到您正在使用内联样式。textDecoration: 'none'
在 child 中使用,实际上它应该在 inside<Link>
中使用:
<Link to="first" style={{ textDecoration: 'none' }}>
<MenuItem style={{ paddingLeft: 13 }}>Team 1</MenuItem>
</Link>
<Link>
基本上会返回一个标准<a>
标签,这就是我们textDecoration
在那里应用规则的原因。
我希望有帮助
我认为在 MenuItem(以及其他 MaterialUI 组件,例如按钮)中使用 react-router-dom Link 的最佳方法是在“组件”props中传递 Link
<Menu>
<MenuItem component={Link} to={'/first'}>Team 1</MenuItem>
<MenuItem component={Link} to={'/second'}>Team 2</MenuItem>
</Menu>
您需要在“MenuItem”的“to”props中传递路由路径(它将被传递到链接组件)。通过这种方式,您不需要添加任何样式,因为它将使用 MenuItem 样式
如果您正在使用styled-components
,您可以执行以下操作:
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import styled from 'styled-components';
const StyledLink = styled(Link)`
text-decoration: none;
&:focus, &:hover, &:visited, &:link, &:active {
text-decoration: none;
}
`;
export default (props) => <StyledLink {...props} />;
还有另一种方法可以正确删除链接的样式。你必须给它的风格textDecoration='inherit'
和color='inherit'
您可以添加为造型像的链接标签:
<Link style={{ color: 'inherit', textDecoration: 'inherit'}}>
或者为了使它更通用,只需创建一个 css 类,如:
.text-link {
color: inherit;
text-decoration: inherit;
}
然后只是 <Link className='text-link'>