React-Router (v4)를 시도 중이며 Nav를 시작하여 Link
‘s 중 하나를 사용하는 데 문제가 있습니다 active
. Link
태그 중 하나를 클릭 하면 활성 항목이 작동하기 시작합니다. 그러나 홈 Link
이 /
경로 에서로드되는 구성 요소이기 때문에 앱이 시작되는 즉시 활성화 되기를 원합니다 . 이것을 할 방법이 있습니까?
내 현재 코드는 다음과 같습니다.
const Router = () => (
<BrowserRouter>
<div>
<Nav>
<Link activeClassName='is-active' to='/'>Home</Link> {/* I want this to start off as active */}
<Link activeClassName='is-active' to='/about'>About</Link>
</Nav>
<Match pattern='/' exactly component={Home} />
<Match pattern='/about' exactly component={About} />
<Miss component={NoMatch} />
</div>
</BrowserRouter>
)
답변
<Link>
더 이상 activeClassName
또는 activeStyle
속성 이 없습니다 . react-router v4에서 <NavLink>
조건부 스타일을 지정하려면 다음 을 사용해야 합니다.
const Router = () => (
<BrowserRouter>
<div>
<Nav>
<NavLink exact={true} activeClassName='is-active' to='/'>Home</NavLink>
<NavLink activeClassName='is-active' to='/about'>About</NavLink>
</Nav>
<Match pattern='/' exactly component={Home} />
<Match pattern='/about' exactly component={About} />
<Miss component={NoMatch} />
</div>
</BrowserRouter>
)
나는 집에 정확한 속성을 추가 <NavLink>
내가 꽤 확실하기 때문에 그것없이, 홈 링크는 항상 활성화 될 것이라고 해요 /
일치합니다 /about
그리고 당신은 다른 페이지.