Я пытаюсь перебрать массив данных. Я следовал руководству, но, к сожалению, не добился такого же успеха. Файл данных выглядит так:
import React, {Component} from 'react';
export default [
{ id: 1, lk:593458, ld:18033, status: 'Open'},
{ id: 2, lk:593388, ld:18036, status: 'Closed'},
{ id: 3, lk:593420, ld:18047, status: 'Open'}
]
и файл, в котором я пытаюсь работать с данными, вот так:
import data from './data';
const {data} = this.props;
let markers = this.data.map(id => (
Независимо от того, что я получаю ошибку «undefined не является объектом (оценка this.data.map. Где я облажался? Спасибо
Похоже, вы переназначаете импорт data со своей деструктуризацией?
Вы говорите о let markers = this.data.map (id =>? Я пробовал разные версии, но это не работает. То же самое, если я удалю его и получу data.map. Кроме того, я очень новичок реагировать, поэтому я не понимаю, что вы имеете в виду под деструктуризацией @CertainPerformance
@ J.Doe это не о деструктуризации. Вы импортировали data в первой строке, но никогда не использовали его.
@ J.Doe вам нужно предоставить компонент, чтобы люди помогли вам, на данный момент вы разместили случайные 3 строки кода, которые не имеют смысла.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


this.data тогда не определился?
Ты можешь сделать:
data.map(e => {})
Ваш второй вариант заставит мой код выглядеть так? К сожалению, при этом я получаю неожиданную ошибку токена. const {данные} = this.props; let markers = this.props.data.map (id => {} (// код для выполнения
Ой! Только что понял, что вы повторно объявляете переменную. Я уверен, что вы видите ошибку: Duplicate declaration "data"? Прочтите developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…, чтобы узнать варианты решения этой конкретной проблемы.
Самый простой вариант: this.props.data = data, но есть и другие варианты
@MagdKudama какой смысл мутировать this.props? Это вообще разрешено?
В коде я не вижу, является ли это компонент React или нет. Да, в контексте компонента React свойства неизменяемы.
@zerkms отредактировал комментарий, удалил присвоение реквизита, чтобы не путать OP
Вы не можете повторно объявить импортированную переменную.
import data from './data';
const {data} = this.props;
Вторая строка повторно объявляет переменную data, которую вы уже импортировали из модуля ./data.
Вы можете использовать синтаксис import x as y from './module для переименования импортированного модуля или не использовать деструктуризацию в строке 2: const _data = this.props.data.
Зачем им использовать this.props.data, если данные уже есть в data?
Я также не знаю контекста того, что делает OP. По какой-то причине им может потребоваться использовать значение this.props.data.
На самом деле это то, чего они не могут понять, и я думаю, что ответы перед ними с предоставлением их компонентов (а не просто случайных строк) и объяснения того, что они делают / ожидают, принесут больше вреда, а не помогут.
Вы правы, @zerkms, я не знаю, что делаю, и не понимаю, о чем вы с цветаном говорите. Я очень стараюсь понять, что я делаю. Хотя я благодарен за вашу помощь
@ J.Doe, все в порядке, никто тебя не винит - обучение - это естественный процесс. Но чтобы ответить на ваш вопрос, вам нужно предоставить больше контекста: по крайней мере, ваш компонент + намерения.
Что означает ваш второй фрагмент? Что там
this?