Я использую https://restcountries.eu/rest/v2/all для получения всех названий стран.
Я пытаюсь сгенерировать случайное название страны по клику. Я просмотрел массив объектов, чтобы получить названия стран, но onClick
не работает.
const WorldCard = () => {
const [country, setCountry] = useState([])
const [name, setCount] = useState(0)
useEffect(() => {
fetch('https://restcountries.eu/rest/v2/all')
.then(res => res.json())
.then(result => {
setCountry(result)
console.log(result)
})
}, [])
const countryName = country => {
return country.map(d => d.name)
}
return (
<Card>
<Card.Body>{name}</Card.Body>
<Button
onClick={() =>
setCount(countryName[Math.floor(Math.random() * countryName.length)])
}
>
Click me
</Button>
</Card>
)
}
Любая помощь будет оценена по достоинству! Спасибо!
благодарю вас!! что, если я хочу получить доступ к другим объектам в массиве? Могу ли я сопоставить более 1 объекта в функции
countryName
? @НилНе требуется. Вы можете добавить ту же функцию карты, что и эта
return country.map(d => {d.name, d.anotherObject})
спасибо! я сделал это:
country.map(d => ({name: d.name, population: d.population}))
@Neel