为什么无法在render方法中更改状态。在调用渲染方法之前最好的更改状态的地方是>>

问题描述 投票:0回答:1

我正在尝试在render方法中进行状态更改,但它显示:

错误:已超过最大更新深度。当组件重复调用componentWillUpdate或componentDidUpdate内部的setState时,可能会发生这种情况。 React限制了嵌套更新的数量,以防止无限循环。

class Test extends Component {
    state = { 
        name:[],

    }



    render() {
        this.setState({name:this.props.data})


        return(
          <div>
              {this.state.name.map(e=>(
                  <h3>{e}</h3>
              ))}
          </div>
      );  
    }
}

我正在尝试在render方法中进行状态更改,但它显示:错误:超出最大更新深度。当组件重复调用componentWillUpdate内的setState或...

reactjs components state jsx
1个回答
0
投票

您不能在render函数中设置反应状态,但是可以在构造函数或大多数组件生命周期函数中设置。

© www.soinside.com 2019 - 2024. All rights reserved.