Я пытаюсь вернуть один элемент из массива, используя функцию карты, и вместо одного элемента после карты у меня есть один элемент, который отображается столько раз, сколько элементов в массиве.
{this.state.cities.map(() =>
this.state.cities[0].value > 10 ? (
<p style = {{ color: "red" }}>
{this.state.cities[0].name} - {this.state.cities[0].value}
</p>
) : (
<p>
{" "}
{this.state.cities[0].name} - {this.state.cities[0].value}
</p>
)
)}
Я обновил свой вопрос. Может теперь более понятно. буду очень благодарен за ответ
Вы должны использовать аргумент карты, чтобы увидеть, какой объект значения имеет ваши критерии:
Другими словами, если значение > 10, абзац будет отображаться красным, в противном случае просто отобразятся остальные абзацы.
{this.state.cities.map((city) =>
city.value > 10 ? (
<p style = {{ color: "red" }}>
{city.name} - {city.value}
</p>
) : (
<p>
{" "}
{city.name} - {city.value}
</p>
)
)}
вам нужен город, у которого
value
больше 10? Если да, используйте метод[].find
и отобразите его