react中todolist可以添加,不能删除,怎么回事?

clipboard.png

Warning: Cannot update during an existing state transition (such as within render). Render methods should be a pure function of props and state.

添加是可以的 但是删除不行
提示render的时候不能更新state 感觉有点死循环的意思
我可以用redux做 但是这个props 和返回函数这两种方法怎么做 难道还要变成子组件么

阅读 2.7k
3 个回答

找到问题了 vue用多了之后会转不过来 react方法有点像原生 加参数相当于render的时候就执行

  1. 可以把li变成子组件 通过props传参
  2. onClick={()=>{this.delete(index)}} 直接写this.delete(index) 是刚render就执行 需要返回一个函数
  3. 可以用redux store.dispath() 把index传过去删除

onClick={() => this.delete(index)}

需要再删除的时候绑定一下this,改成下面这个即可.
onClick={this.delete.bind(this,index)}
或者你可以改成 onClick={()=>this.delete(index)}

推荐问题