Javascript ReactJS React路由器参数
我的ReactJS项目目前存在React路由器问题。我有一个呈现视图的页面,视图中有一个.map函数,它映射所有用户,并将“first_name”放在Javascript ReactJS React路由器参数,javascript,reactjs,mongoose,react-router,Javascript,Reactjs,Mongoose,React Router,我的ReactJS项目目前存在React路由器问题。我有一个呈现视图的页面,视图中有一个.map函数,它映射所有用户,并将“first_name”放在标记中。地图功能对所有用户都正常工作 我希望能够单击用户的第一个_名称,它将以_id作为参数导航到新路由。导航到的新组件将收到_id,我将在DB中搜索它们的_id 预定路线: | URL | Components | |---------------------|------------| | `/`
标记中。地图功能对所有用户都正常工作
我希望能够单击用户的第一个_名称,它将以_id作为参数导航到新路由。导航到的新组件将收到_id,我将在DB中搜索它们的_id
预定路线:
| URL | Components |
|---------------------|------------|
| `/` | `Main` |
| `/platform` | `Platform` |
| `/platform/:userID` | `Editor` |
目前我有3个文件,routes.js
,其中保存了所有路由器配置。index.js
保存数据库中呈现的用户列表。以及将在URL中接收用户id的editor.js
文件
// 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>
)}
//Routes.js
从“./components/Main”导入Main;
从“./components/Home”导入Home;
从“./组件/平台”导入平台;
从“./components/Editor”导入编辑器;
//Platform.js
{users.map({u id,first\u name,last\u name},index)=>
{first_name}{last_name}:{u id}
)}
您应该能够点击Link
并将参数添加到URL中
当前,当我尝试此操作时,它会简单地将
/user
附加到我的URL上,因此出现localhost:8080/user
您需要将更改为参数,如下所示-
<Link to={`/user/${_id}`}>
<h4 style={{fontFamily: 'Raleway', color: '#498EE0'}}>{first_name} {last_name} : {_id}</h4>
</Link>
{first_name}{last_name}:{u id}
谢谢,现在可以了,但是控制台中出现了一个错误:警告:位置与任何路线都不匹配您也需要更改路线-或者如果您愿意,您可以保持不变-并且可能会接受这个答案非常感谢,我还发现我不正确地嵌套了路线,因此,当您改变了这一点以及您建议的更改后,它就可以正常工作了:)