有人可以解释一下
<Route exact path="/" component={Home} />
和
<Route path="/" component={Home} />
我不知道“确切”的含义
在这个例子中,什么都没有。exact当您具有多个具有相似名称的路径时,该参数将起作用:
exact
例如,假设我们有一个Users显示用户列表的组件。我们还有一个CreateUser用于创建用户的组件。的网址CreateUsers应嵌套在下Users。因此,我们的设置可能如下所示:
Users
CreateUser
CreateUsers
<Switch> <Route path="/users" component={Users} /> <Route path="/users/create" component={CreateUser} /> </Switch>
现在,这里的问题是,当我们转到http://app.com/users路由器时,将通过所有定义的路由,并返回它找到的第一个匹配项。因此,在这种情况下,它将首先找到Users路线,然后返回。都好。
http://app.com/users
但是,如果我们转到http://app.com/users/create,它将再次遍历所有定义的路线并返回找到的FIRST匹配项。React路由器会进行部分匹配,因此会/users部分匹配/users/create,因此它将再次错误地返回Users路由!
http://app.com/users/create
/users
/users/create
该exactPARAM禁用部分匹配的路由,并确保如果路径是精确匹配当前URL,它只是返回的路线。
所以在这种情况下,我们应该添加exact到我们的Users路由,这样只会匹配/users:
<Switch> <Route exact path="/users" component={Users} /> <Route path="/users/create" component={CreateUser} /> </Switch>
该文档exact详细解释并给出了其他示例。