javascript - 带有路由错误的 React-semantic-ui

标签 javascript reactjs semantic-ui semantic-ui-react

我有一个从 react semantic-ui 导入的基本菜单

<Menu secondary vertical>
        <Menu.Item
          name='account'
          active={activeItem === 'account'}
          onClick={this.handleItemClick}
        />

我显然有更多的项目,我修改了菜单中的每个项目链接到不同的页面:

<Menu secondary vertical>
         <Link to="/account">
         <Menu.Item
          name='account'
          active={activeItem === 'account'}
          onClick={this.handleItemClick}
        />
        </Link>
        
 

代码显然按预期工作,但我收到错误

<a> cannot appear as a descendant of <a>

所以我修改了代码为<Menu.item as='div'它仍然有效,但它失去了一些功能。基本上在我能够将鼠标悬停在菜单项上之前,它会在图片中显示结果。要在“帐户”上获得相同的结果,我必须单击两次。如果我将 Menu.item 保留为“a”,它就可以工作。 我有什么办法可以解决这个问题吗? Picture 1

最佳答案

您不应该那样使用 Link 和 Menu.Item。

您可以做一些类似于您已经使用 as 属性所做的事情。你可以说

<Menu.Item 
   as={Link}
   to={"/account"}
   name='account'
   active={activeItem === 'account'}
   onClick={this.handleItemClick}
>
    Account
</Menu.Item>

这意味着您需要从 react-router-dom 导入 {Link},我想您已经这样做了

关于javascript - 带有路由错误的 React-semantic-ui,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52297316/

相关文章:

html - 如何在 react 中禁用内容安全策略

javascript - react-bootstrap-table - multiColumnSearch - 需要两列中的数据而不是全部匹配

jquery - 为什么通过 npm 安装语义 UI 会错过 jQuery 并向其抛出引用错误?

javascript - 使用 JQuery 的语义 UI 下拉列表 - 如何使用 JQuery 初始化语义 UI 下拉列表

javascript - 最多显示 10 种可用产品

javascript - Ruby on Rails -> 动态创建 div

javascript - naturalHeight 和 naturalWidth 属性是新增的还是已弃用?

javascript - 设置 Chart.js 饼图选项

javascript - 集成两个React项目时出现问题: blocked javascrpit import in index. hml

html - 为第一个元素创建顶部边距的好方法