Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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
Reactjs 路由/users、/users/:id和/users/online能否与react路由器共存?_Reactjs_React Router - Fatal编程技术网

Reactjs 路由/users、/users/:id和/users/online能否与react路由器共存?

Reactjs 路由/users、/users/:id和/users/online能否与react路由器共存?,reactjs,react-router,Reactjs,React Router,出于向后兼容的原因,我被要求创建以下3条路由: /users列出所有用户 /users/:id按id转到一个用户的详细视图 /users/online是对/users的过滤视图,其中仅存在在线用户 我知道online永远不会是有效的id,因此它在概念上永远不会与/users/:id端点冲突,但react router能够处理这个问题吗 以下是我到目前为止尝试过的,但没有达到预期效果: <Route exact path="/users" component={UserList} /&g

出于向后兼容的原因,我被要求创建以下3条路由:

  • /users
    列出所有用户
  • /users/:id
    按id转到一个用户的详细视图
  • /users/online
    是对
    /users
    的过滤视图,其中仅存在在线用户
我知道
online
永远不会是有效的
id
,因此它在概念上永远不会与
/users/:id
端点冲突,但react router能够处理这个问题吗

以下是我到目前为止尝试过的,但没有达到预期效果:

<Route exact path="/users" component={UserList} />
<Route exact path="/users/:id" component={UserDetail} />
<Route exact path="/users/online/:q" component={UserList} />

您必须将
联机
路由置于类似通配符的参数
:id
之前。 由于
/:id
/online
处于同一级别,并且之前定义了
:id
,因此当您到达
/online
时,它将被捕获为“id”


您必须将
联机
路由置于类似通配符的参数
:id
之前。 由于
/:id
/online
处于同一级别,并且之前定义了
:id
,因此当您到达
/online
时,它将被捕获为“id”



我不知道react路由器,但也许你想去
/users/online/
@Neoares谢谢。我添加了我现在正在测试的路线,包括在内。不幸的是,它似乎不起作用!“未按预期工作”不是一个好的问题描述。您的期望是什么?您的期望在哪些方面没有实现?不要让我们猜测您是如何测试此设置的,以及您以何种方式得出此设置不起作用的结论。首先,有哪条路线有效吗?如果是的话,是哪一个?@Damien_,不信者,为这个模棱两可感到抱歉。前两条路线有效。列出的组件安装完毕,我们开始工作。第三个“在线”组件可以工作-这意味着我们不会通过转到
localhost/users/online
localhost/users/online/all
来装载
UserList
组件。我不知道react router,但也许您想转到
/users/online/
@Neoares谢谢。我添加了我现在正在测试的路线,包括在内。不幸的是,它似乎不起作用!“未按预期工作”不是一个好的问题描述。您的期望是什么?您的期望在哪些方面没有实现?不要让我们猜测您是如何测试此设置的,以及您以何种方式得出此设置不起作用的结论。首先,有哪条路线有效吗?如果是的话,是哪一个?@Damien_,不信者,为这个模棱两可感到抱歉。前两条路线有效。列出的组件安装完毕,我们开始工作。第三个“在线”组件可以工作-这意味着我们不会通过转到
localhost/users/online
localhost/users/online/all
来装载
UserList
组件
<Route exact path="/users" component={UserList} />
<Route exact path="/users/online/:q" component={UserList} />
<Route exact path="/users/:id" component={UserDetail} />