я в настоящее время с помощью реакции, чтобы сделать опорой называется area
, который выглядит следующим образом:Использование карты() перебрать вложенным Prop в React
[{
"id": 1,
"name": "Europe",
"Countries": [{
"id": 1,
"name": "Iceland",
"Cities": [{
"id": 1,
"name": "Selfoss"
}]
}, {
"id": 2,
"name": "Switzerland",
"Cities": [{
"id": 2,
"name": "Geneva"
}]
}]
}, {
"id": 2,
"name": "Asia",
"Countries": [{
"id": 3,
"name": "Japan",
"cities": [{
"id": 3,
"name": "Yokohama"
}]
}]
}]
UPDATE 2--
Это КОМБИНАТ:
class AreaBar extends Component {
constructor(props) {
super(props);
}
.....
renderCountries() {
return(
<div>
This is the country
</div>
)
}
renderContinents() {
return(
<div>
This is the continent
{this.renderCountries()}
</div>
)
}
render() {
return(
<div>
{this.renderContinents()}
</div>
);
}
}
В этом выходы:
This is the continent
This is the country
Включает карту, это РАБОТЫ
renderContinents(area) {
return(
<div>
{area.name}
</div>
)
}
render() {
return(
<div>
{this.props.areas.map(this.renderContinents)}
</div>
);
}
}
Воспроизводит:
Europe
Asia
НО когда я включаю {this.renderCountries()}
, он не выводит ничего, что я думаю, почему я не могли заставить предложения работать.
renderCountries() {
return(
<div>
This is the country
</div>
)
}
renderContinents(area) {
return(
<div>
{area.name}
{this.renderCountries()}
</div>
)
}
render() {
return(
<div>
{this.props.areas.map(this.renderContinents)}
</div>
);
}
}
В Firefox, оба континентов показывают вверх, но «это страна не показывает» вместо этого я получаю
unreachable code after return statement
When an expression exists after a valid return statement,
a warning is given to indicate that the code after the return
statement is unreachable, meaning it can never be run.
Похоже, что это говорит renderCountries никогда не может быть запущен. Я все еще немного смущен, но думаю, что я попытаюсь разделить компоненты и посмотреть, исправляет ли она проблему.
'.map' - это метод' Array', а не 'Object'. Что значит «это не работает», что происходит вместо этого? – martriay
@martriay У меня нет ошибок в консоли, но ничего не появляется. Кроме того, не следует .map работать с этим, потому что [object, object] - это просто массив с объектами? – lost9123193