请问这种更新方法会不会有什么问题
//子组件方法更新:
addItem=()=>{
this.props.editList.push(1)
this.setState({})
}
removeItem=()=>{
this.props.editList.splice(0,1)
this.setState({})
}
...
//父组件:
class{
...
render(){
return <Child editList={this.state.list}>
}
}
我在重写代码时候,有很多这种修改props写法,当时就是不想让父组件挂太多方法像这样(<Child editList={this.state.list} addItem={this.addItem} ... ...>),所以把更新操作写在子组件内部,实际上好像很少有这样写法,虽然没报错,但是不知道这种写法会不会有什么问题?
不是setState直接修改state不会重新渲染
所以你那样做只会重新渲染子组件 如果其他兄弟组件也用到了editList 则渲染有问题