Впервые, когда ваш компонент будет рендериться, если у вас есть знания о хуках жизненного цикла реагирования, после конструктора будет запущен render method
, а затем хук componentDidMount
.поэтому для первого рендера eventUser
не определено, затем после componentDidMount
состояние будет выполнено.
Итак, решение таково:
- Сначала не вставляйте
console.log
вJSX, лучше поставить его перед return
. - Вторая первая проверка, определен ли объект, затем вернуть ваши данные
Код:
render(){
const { eventUser } = this.state;
// if eventUser is defined then log it
{eventUser && console.log(eventUser._id)}
// or you can add very simple load state
if(!eventUser) return <h1>Loading....</h1>
return(
<div>
{probably info about user }
</div>
);
}