我想为子类别设置状态,但显示超出最大更新深度。怎么克服这个?请帮助,谢谢。
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})
}
预期结果是设置子类别的状态。
setState()
将触发更新,这意味着组件将再次render
。所以你不能在render
中调用setState,因为它会一直保持更新和渲染。
你可以做的是你可以在getSubCategories()
上调用componentDidMount()
方法,它将按预期工作。