Из вашего полного кода кажется, что ваш конструктор переписывает ваше состояние в пустой объект (поэтому this.state.timeSlots[0].name
действительно проблематично)
Я бы переписал ваш конструктор как:
constructor(props) {
super(props)
this.state = {
isDateTimePickerVisible: false,
mode: 'time',
minuteInterval: 30,
selectedDate: {},
isLoading: true,
syllabus: [{
value: 'Banana',
}],
users: [{
value: 'Banana',
app_id: 'apple',
}],
slots: [{
name: 'test',
time: '123',
user_id: '373737',
}],
}
this.onDayPress = this.onDayPress.bind(this)
this.testStore = this.testStore.bind(this)
}
и testStore as:
testStore() {
const returnArr = []
db.ref(`bookings/${this.user}`).child('22-09-2018').once('value').then((snapshot) => {
const data = snapshot.val()
const timeSlot = Object.values(data)
console.log(`testStore: ${timeSlot[0].name}`)
dt = timeSlot
this.setState({
timeSlots: dt
}, () => {
console.log('after setState', this.state.timeSlots)
})
})
}