您应该调用第二个函数作为setState的回调,因为setState异步发生。就像是:
this.setState({pencil:!this.state.pencil}, myFunction)但是在您的情况下,由于您希望使用参数调用该函数,因此您将不得不变得更有创造力,并且可能创建自己的函数以在道具中调用该函数:
myFunction = () => { this.props.updateItem(this.state)}将它们结合在一起,它应该可以工作。

您应该调用第二个函数作为setState的回调,因为setState异步发生。就像是:
this.setState({pencil:!this.state.pencil}, myFunction)但是在您的情况下,由于您希望使用参数调用该函数,因此您将不得不变得更有创造力,并且可能创建自己的函数以在道具中调用该函数:
myFunction = () => { this.props.updateItem(this.state)}将它们结合在一起,它应该可以工作。