Если вы хотите, чтобы в вашем массиве был случайный город, я бы разработал приложение по-другому и просто установил индекс на выбор.
Также, если вы используете функции жирной стрелки, нет необходимости передавать города обработчику событий click. Я создал небольшой пример для вас.
import React, { useState } from "react";
import ReactDOM from "react-dom";
function AppHooks() {
const cities = [
{
nameCity: "Kraków"
},
{
nameCity: "Kielce"
}
];
const [activeCity, setActiveCity] = useState(0);
const randomCities = e => {
const len = cities.length;
setActiveCity(Math.floor(Math.random() * len));
};
return (
<>
<div>{cities[activeCity].nameCity}</div>
<button onClick={randomCities}> Change</button>
</>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<AppHooks />, rootElement);
CodeSandbox - Пример