setState не обновляет поля объекта

вопрос почему в данном случае setState не обновляет объект field?

this.setState(function (state) {
      let newFields = {...state.fields, [fieldName]: null}
      console.log(newFields); // возвращает объект с полем [fieldName]: null
      return {fields: newFields}
  }, () => console.log(this.state.fields)) // исходный объект


Ответы (1 шт):

Автор решения: RavenTheX
this.setState(prevState => {
  let fields = Object.assign({}, prevState.fields)
  fields.fieldName = null
  return { fields }
})

Либо используя синтаксис ES6

this.setState(prevState => ({
    fields: {                   
        ...prevState.fields,    
        fieldName: null 
    }
}))
→ Ссылка