我有一些餐馆。每个人都有评论。我想把这些评论存储在一个状态中。2D数组:每一行代表一个餐厅,每个元素代表一个回顾对象。
由于后台的性质,有必要在componentWillMount()中执行此操作。
async componentWillMount() {
let reviewsHelper = this.state.reviews.slice();
for (var i = 0; i < restaurantCount; i = i + 1) {
...
for (var j = 0; j < restaurant.reviewCount; j = j + 1) {
... get reviewObj
reviewsHelper[i][j] = reviewObj
}
}
this.setState({
reviews: reviewsHelper
})
}
...
constructor(props) {
super(props)
this.state = {
reviews: [[], [], [], []],
...
}
}
这工作。然而,正如您可能已经看到的,当我在构造函数中定义状态时,我有4[]
。这意味着我支持4家餐厅。
我如何改变这一点,让我接受无限的餐馆?或者,更好的是,一些restaurantCount
餐厅?
我是React的新手,任何帮助都会非常感激。
在Google上搜索了几个小时后,我最终修复了这个问题。
async componentWillMount() {
let reviewsHelper = this.state.reviews.slice();
for (var i = 0; i < restaurantCount; i = i + 1) {
...
var helperList = []
for (var j = 0; j < restaurant.reviewCount; j = j + 1) {
... get reviewObj
helperList.push(reviewObj)
}
reviewsHelper.push(helperList)
}
this.setState({
reviews: reviewsHelper
})
}
constructor(props) {
super(props)
this.state = {
reviews: [],
...
}
}