Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ReactJS React路由器参数_Javascript_Reactjs_Mongoose_React Router - Fatal编程技术网

Javascript ReactJS React路由器参数

Javascript ReactJS React路由器参数,javascript,reactjs,mongoose,react-router,Javascript,Reactjs,Mongoose,React Router,我的ReactJS项目目前存在React路由器问题。我有一个呈现视图的页面,视图中有一个.map函数,它映射所有用户,并将“first_name”放在标记中。地图功能对所有用户都正常工作 我希望能够单击用户的第一个_名称,它将以_id作为参数导航到新路由。导航到的新组件将收到_id,我将在DB中搜索它们的_id 预定路线: | URL | Components | |---------------------|------------| | `/`

我的ReactJS项目目前存在React路由器问题。我有一个呈现视图的页面,视图中有一个.map函数,它映射所有用户,并将“first_name”放在
标记中。地图功能对所有用户都正常工作

我希望能够单击用户的第一个_名称,它将以_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}

谢谢,现在可以了,但是控制台中出现了一个错误:警告:位置与任何路线都不匹配您也需要更改路线-或者如果您愿意,您可以保持不变-并且可能会接受这个答案非常感谢,我还发现我不正确地嵌套了路线,因此,当您改变了这一点以及您建议的更改后,它就可以正常工作了:)