2016-10-14 33 views
0

我正在使用反应并尝试使用<Link>导航到另一条路线 。React IF - ELSE Link确实载入页面

我的问题是点击链接会导致实际的 页面加载,而不是SPA导航。

我注意到,发生这种情况是因为我将链接包装在if else块中。

这工作:

<Link to="/login">Login</Link> 

这不起作用:

let loginOrLogout = (isUserLoggedIn) ? 
    (<Link to="/logout">Logout</Link>) : 
    (<Link to="/login">Login</Link>); 
{loginOrLogout} 
+0

你的意思是你有两个不同的行为,有没有if else块?请分享您的代码 –

+0

我的问题更新 – dknaack

+0

使用正常条件,并检查是否使用控制台输出获得适当的条件块内部,这会给你清晰的想法。在返回之前,还要在赋值和console.it之前将loginOrLogout设置为null。并检查是否为null或组件 – abhirathore2006

回答

0

尝试阵营无状态组件,如:在渲染方法

function LoginOrLogout(props) { 
     if (props.isUserLoggedIn) { 
      return <Link to="/logout">Logout</Link>; 
     } 

     return <Link to="/login">Login</Link>; 
    } 

电话:

<LoginOrLogout isUserLoggedIn={isUserLoggedIn}>