Есть объект store и функция изменения isClicked:
export const store = {
items: [
{
id: 1,
isClicked: false,
},
{
id: 2,
isClicked: false,
}
],
};
export function changeClikced(id) {
const getItem = store.items.find(item => item.id == id);
if (getItem) getItem.isClicked = true;
}
Есть компонент App:
function App() {
const [items, setItems] = useState(store.items);
const catchPokemon = (id) => () => {
changeClikced(id)
console.log(items)
}
return (
<>
{items.map((item) => (
<button onClick={catchPokemon(item.id)} key={item.id}>
{!item.isClicked ? 'Нажать' : 'Уже была нажата' }
</button>
))}
</>
);
}
При нажатии на кнопку isClicked меняться, но компонент не перерисовывается. Можно ли заставить кнопки изменять свой текст при клике?