Я вижу пару проблем
Сначала вы указали, что calendarDay: []
является массивом, и в то же время вы отображаете его свойство, которое не имеет смысла
{calendarDay.rate_plan_dates.map...
Итак, как это выглядит в настоящее время array[].property
всегда не определено.
Поскольку calendarDay
- это массив, поэтому он не будет иметь прямого свойства rate_plans
.
один из ваших комментариев
когда console.log (this.state.calendarDay) ставится после setState I
получить календарный день undefined
. Еще раз спасибо за помощь - любой
предложения?
если вы поместите журнал сразу после установки состояния, он не будет работать должным образом, потому что state
в реакции работает в асинхронном режиме.
проверить по обратному вызову -
this.setState({
calendarDay: res,
loading: true,
fetched: true
}, () => console.log(this.state.calendarDay));
если
он все еще не определен, тогда res.rate_plans
приходит неопределенным с сервера.
иначе сделайте следующее как
@ Кямран Назир уже упоминалось в его ответе.
{calendarDay.map((item, k) => <div key={k}>
{item
.rate_plans
.map((ratePlans, ratePlanKey) => <ul key={ratePlanKey}>
{ratePlans
.rate_plan_dates
.map((dailyRates, index) => <li key={index + 1}>{dailyRates.date}
- ${dailyRates.rate}</li>)}
</ul>)}
</div>)}