簡體   English   中英

ReactJS React Router參數

[英]ReactJS React Router params

我的ReactJS項目目前有一個React Router問題。 我有一個呈現視圖的頁面,該視圖內部是.map函數,該函數映射所有用戶並將“ first_name”放置在<h4>標記內。 地圖功能對所有用戶均正常工作。

我希望能夠單擊用戶的first_name,它以_id作為參數導航到新路由。 導航到的新組件將收到_id,我將在數據庫中搜索其_id。

預期路線:

| URL                 | Components |
|---------------------|------------|
| `/`                 | `Main`     |
| `/platform`         | `Platform` |
| `/platform/:userID` | `Editor`   |

目前,我有3個文件,即routes.js ,其中包含所有ReactRouter配置。 index.js保存來自數據庫的呈現的用戶列表。 還有editor.js文件,該文件將在URL中接收用戶的_id。

// Routes.js
import Main from './components/main';
import Home from './components/home';
import Platform from './components/platform';
import Editor from './components/editor';

<Route name="home" path="/" component={Main}>
    <IndexRoute component={Home} />
    <Route name="platform" path="platform/" component={Platform}>
        <Route name="user" path="/:userId" handler={Editor} />
    </Route>
</Route>


// Platform.js
{users.map(({_id, first_name, last_name}, index)=>
    <div>
        <Link to="user" params={{userId: _id}}>
            <h4 style={{fontFamily: 'Raleway', color: '#498EE0'}}>{first_name} {last_name} : {_id}</h4>
        </Link>
        <hr />
    </div>
)}

您應該能夠單擊Link ,並且參數已添加到URL。

目前,當我嘗試此操作時,它會簡單地將/user附加到我的URL上,因此它顯示為localhost:8080/user

你需要改變to這樣的參數-

<Link to={`/user/${_id}`}>
  <h4 style={{fontFamily: 'Raleway', color: '#498EE0'}}>{first_name} {last_name} : {_id}</h4>
</Link>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM