我想为子类别设置状态,但是其状态显示超出最大更新深度。如何克服呢?请帮忙,谢谢。
getSubCategories(){
let a = filter(this.state.allCategories,{'category_id': this.state.selectedCategoryId})
let subCategories=[]
a.map((c) =>{
const value = {value: c.id, label: c.name}
subCategories.push(value)
})
this.setState({subCategories:subCategories})
}
预期结果是为子类别设置状态。
答案 0 :(得分:0)
setState()
将触发更新,这意味着组件将再次render
。因此您不能在render
中调用setState,因为它将一直保持更新和呈现状态。
您可以做的是可以在getSubCategories()
上调用componentDidMount()
方法,它将按预期工作。