У меня есть функция componentDidMount:
componentDidMount() {
const { insurances } = this.props;
const insuranceId = this.props.match.params.id;
const insurance = insurances.find(insurance => insurance.id == insuranceId);
this.setState({ insurance: insurance }, () => {
console.log("insurance", this.state.insurance.tip); <--- this is what i am talking about
});
}
Это console.log()
возвращает объект. Но если я изменяю его на console.log(this.state.insurance.tip)
, который является одним из свойств, я получаю ошибку: TypeError: Невозможно прочитать свойство 'tip' из undefined . Я не очень понимаю, как работает монтаж. Может быть потому, что он не установлен? Если да, то как мне это исправить?
EDIT
console.log ('insurance', insurance), до того как setState будет активен:
id: 1, user_id: 1, tip: "Asigurare", date_exp: "1974-10-14", date_notif: "1975-10-03", …}
created_at: "2019-03-15 10:54:40"
date_exp: "1974-10-14"
date_notif: "1975-10-03"
id: 1
note: "Nam id ipsam sequi."
tip: "Asigurare"
updated_at: "2019-03-15 10:54:40"
user_id: 1
но если я это сделаю console.log(this.state.insurance)
возвращает объект с неопределенными свойствами
РЕДАКТИРОВАТЬ 2
Я думаю, что это близко к тому, что у меня есть https://codesandbox.io/s/n72rx0k660