React router验证DOM嵌套错误

时间:2018-03-02 11:24:35

标签: react-router

警告:validateDOMNesting(...):<a>不能作为<a>的后代出现。见NavigationBar&gt; a&gt; ...&gt;链接&gt;一个

<a className="ui item nav-logout font-color">
        {isLoggedIn ? (
          <Link onClick={this.logout} to="/" >
            Logout
          </Link>
        ) : (
          <Link to="/login">Login</Link>
        )}

2 个答案:

答案 0 :(得分:0)

您正在将<a>标记嵌套到另一个<a>标记中,将父级更改为<div> / <span>(或<li>如果您的导航项为在列表中):

<span className="ui item nav-logout font-color">

答案 1 :(得分:0)

此错误与组件内部的太多渲染元素有关。因此请在react fragment标签内尝试此命令。

return(
<React.Fragment >

<a className="ui item nav-logout font-color">
        {isLoggedIn ? (
          <Link onClick={this.logout} to="/" >
            Logout
          </Link>
        ) : (
          <Link to="/login">Login</Link>
        )}


</React.Fragment>
);