2016-10-14 44 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}>