【发布时间】:2018-09-13 22:37:00
【问题描述】:
所以来自 Angular/AngularJS 背景,你有状态,每个状态都是一个单独的页面。例如。在社交网络中,您可以有一个状态与您的提要、一个状态与您的朋友列表或一个状态以查看个人资料等。非常简单。对我来说,React 并没有那么多。
假设我有一个包含 2 个页面的应用程序:产品列表和单个产品视图。在它们之间切换的最佳方式是什么?
最简单的解决方案是有一个 object,它有一个 stateName 并且是一个 boolean
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 或 条件运算符)。
【问题讨论】:
-
react-router呢? -
react-router绝对是您要找的! -
转到
react-router并分别创建所有页面。
标签: javascript reactjs state