Я построил очень простое состояние следующим образом:
state = {
nested: Array [
0: {a:'a'},
1: {a:'a'},
2: {a:'a'},
3: {a:'a'}...
]
}
Где nested
получает значения из удаленного источника (Firebase).
Я пробовал 3 способа доступа к значению a последнего элемента массива :
Object.values(this.state.nested)[Object.values(this.state.nested).length-1].a
Object.values(this.state.nested)[Object.values(this.state.nested).length-1]['a']
Object.values(this.state.nested).map(e=>e.a).pop()
1-й и 2-й методы работают нормально в консоли, но дают мне undefined
внутри метода React render ().
И все это несмотря на то, что они возвращают вложенные объекты, которые я проверил по typeof
.
Я могу подозревать, почему это так, но почему тогда работает третий метод?
Я думаю, что есть причина такого поведения, но не могу себе представить ни одной.