javascript - 如何使用反应制作嵌套路由?
问题描述
我正在学习 React,我正在尝试访问该 url localhost:3000/users/add
,但我没有成功。
结构:
| index.js
| components/
| App.js
| Users/
| Add.js
| View.js
| index.js
应用程序.js:
export default class App extends Component {
render() {
return (
<div className="App">
<Router>
<Header />
<Switch>
<Route exact path="/" component={Home} />
<Route exact path="/users" component={IndexUser} /> // import IndexUser from './Users/index.js'
</Switch>
</Router>
</div>
);
}
}
现在在User/index.js
我写相同的路由逻辑,
export default class IndexUsuario extends Component {
render() {
return (
<div>
<Router>
<div class="top-title">
<a href="/users"> User Section</a>
<a href="/users/add"> Create new User</a>
</div>
<Switch>
<Route exact path="/users/viewusers" component={ViewUser} /> //import ViewUser from './View.js'
<Route path="/users/add" component={AddUser} /> //import AddUser from './Add.js'
</Switch>
</Router>
</div>
);
}
}
但是尝试访问users/add
它没有用。任何人都可以在我失踪的地方帮助我吗?
解决方案
你不需要一秒钟<Router>
来嵌套路由。您可以像这样在彼此内部嵌套路由:
<Router>
<Route path="/users" component={UsersRoot}>
<Route path="/add component={AddUser} />
</Route>
</Router>
渲染时,AddUser
组件会UsersRoot
在children
prop中传递给。
推荐阅读
- python - 为什么我们使用 plt.plot(x, lin_reg2.predict(poly_reg.fit_transform(x)) ) 而不是使用 plt.plot(x_poly, lin_reg2.predict(x_poly) )
- r - R Stargazer 将 p 值放入一行
- javascript - 错误 document.registerElement is not a function console chrome in Debugging extensions Adobe CC application HTML
- python - 熊猫转换数据时间
- flutter - 由于图像名称中的空格,无法加载资产图像
- aqueduct - 在播种类型文档中苦苦挣扎。有一个问题。原因:无法推断值的类型
- java - Java GSON Json 部分解析
- testing - 在 Testcafe 中使用 Request Hooks 进行模拟时如何传递请求 url 的查询参数?
- c# - 如何使用 C# VS2019 更新 TFS 2019 中的查询
- c# - 如何使用 eval() 在标签文本的 mysql 表列中显示实体的计数