所以来自 Angular/AngularJS 背景,你有状态,每个状态都是一个单独的页面。例如,在社交网络中,您可以使用订阅状态、朋友列表状态或查看个人资料状态等。非常简单。对我来说 React 没那么多。
假设我有一个包含 2 个页面的应用程序:一个产品列表和一个产品视图。在它们之间切换的最佳方法是什么?
最简单的解决方案是拥有一个具有 stateName 并且是 布尔值 的 对象
constructor() {
super();
this.state = {
productList: true,
productView: false
}
}
然后在你的 render() 函数中有类似的东西
return() {
<div className="App">
// Or you could use an if statement
{ this.state.productList && <ProductList /> }
{ this.state.productView && <ProductView product={this.state.product} /> }
</div>
}
很简单,对吧?当然,对于一个 2 页的应用程序来说。
但是,如果您有一个包含 10、20、100 页 的大型应用程序 怎么 办?渲染的 return() 部分将是一团糟,跟踪每个状态的状态将是疯狂的。
我相信应该有更好的方法来组织您的应用程序。我试着用谷歌搜索,但找不到任何有用的东西(除了使用 if else 或 _条件运算符_)。
原文由 Alexander Donets 发布,翻译遵循 CC BY-SA 4.0 许可协议
我建议你检查 react-router 来解决这种情况
它很容易让你创建这样的自定义路由:
有关文档和其他示例,如嵌套路由,请 查看此页面。