NavLink仅在单击时更改按钮颜色,但不进行设置

时间:2019-02-01 13:53:49

标签: css reactjs styled-components

我对Navlink按钮的活动类有问题,我的代码如下:

<NavLink exact to="/"><Button>Page</Button></NavLink>

以某种方式NavLink isActive无法正常工作。仅当我单击按钮时,它才会将类更改为活动状态,但是在我松开按钮后,它又不再处于活动状态。

按钮样式组件:

import styled from 'styled-components';

const Button = styled.button`
  width: 50%;
  height:35px;
  background: white;
  color: #71C1A1;
  padding: 0;
  border:none;

   &:active {
      background: #71C1A1;
      color: white;
    }
`;

export default Button;

也许有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

react router给元素<NavLink />赋予的标准类是active(您可以用activeClassName="customClass"控制给定的类)。

因此,您需要为包装在类.active的链接中的按钮设置样式。像这样:

const Button = styled.button`

   /* ... your other styles */

  .active & {
      background: #71c1a1;
      color: white;
  }

`;