React Router NavLink和activeClassName的问题

伊拉克里·奇格拉泽(Irakli Tchigladze)

我的第一个问题是,菜单中有三个链接。主页,关于和添加食物。NavLink activeClassName可以按预期工作,但除此之外:即使我移至其他链接,主页也始终保持活动状态。在屏幕截图中,我已移至/ about页面,但Home * li保持活动状态。在此处输入图片说明

其次,由于某些原因,边界半径不适用于这些项目。是因为它们有大量填充?

我的代码:

   import React from "react";
import { NavLink } from "react-router-dom";
const Navbar = (props) => {
  return (
    <nav>
      <ul>
        <NavLink to="/" activeClassName="active-navlink">
          <li>Home</li>
        </NavLink>
        <NavLink to="/about" activeClassName="active-navlink">
          <li>About</li>
        </NavLink>
        <NavLink to="/add-food" activeClassName="active-navlink">
          <li>Add Food</li>
        </NavLink>{" "}
      </ul>
    </nav>
  );
};

export default Navbar;

和我的路由器,处理所有链接:

<Router>
      {" "}
      <div className="App">
        <Navbar></Navbar>
        <Switch>
          <Route path="/about" component={About}></Route>
          <Route
            path="/products/:food"
            render={(props) => (
              <IndividualProduct {...props}></IndividualProduct>
            )}
          ></Route>
          <Route
            path="/"
            exact
            render={(props) => (
              <Home
                {...props}
                groceryList={groceryList}
                orderTotal={orderTotal}
                setOrderTotal={setOrderTotal}
                productsInCart={productsInCart}
                updateProductsInCart={updateProductsInCart}
              ></Home>
            )}
          ></Route>
          <Route component={NotFound}></Route>
        </Switch>
      </div>
    </Router>
奥列格

1.将精确值添加到Navlink中的“ /”:

  <NavLink to="/" activeClassName="active-navlink" exact={true}  >
        <li>Home</li>
  </NavLink>
  1. 样式样本:

https://codepen.io/k3no/pen/OXgXOb

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章