Reaccionar setState no se actualiza inmediatamente

Estoy trabajando en una aplicación de todo. Esta es una versión muy simplificada del código ofensivo. Tengo una casilla de verificación:

 <p><input type="checkbox"  name="area" checked={this.state.Pencil}   onChange={this.checkPencil}/> Writing Item </p>

Aquí está la función que llama a la casilla de verificación:

checkPencil(){
   this.setState({
      pencil:!this.state.pencil,
  }); 
  this.props.updateItem(this.state);
}

updateItem es una función asignada para despachar a redux

function mapDispatchToProps(dispatch){
  return bindActionCreators({ updateItem}, dispatch);
}

Mi problema es que cuando llamo a la acción updateItem y console.log el estado, siempre está un paso atrás. Si la casilla de verificación no está marcada y no es verdadera, todavía obtengo el estado de verdadero que se pasa a la función updateItem. ¿Debo llamar a otra función para forzar la actualización del estado?

Respuestas a la pregunta(8)

Su respuesta a la pregunta