У меня есть компонент таблицы реакций, который отображает некоторые данные игры.
Компонент использует хуки для установки состояния следующим образом:
const [data, setData] = React.useState([]);
React.useEffect(() => {
gameData(false).then(res => {
setData(res.data);
});
}, []);
Внутри моей таблицы у меня есть кнопка, которая добавляет или удаляет строку с помощью запроса Put в api.
Я хочу, чтобы он удалил строку, не выполняя полное / видимое обновление страницы sh.
Вот фрагмент кода который выполняет запрос ax ios put.
Вы можете видеть, что я снова пытаюсь использовать setData для 'refre sh' данных.
Но это не работает. Теперь он удаляет строку, но я вижу это только после того, как нажму f5 или нажму кнопку sh в браузере.
const updateGame = async (game, action) => {
await new Promise(resolve => setTimeout(resolve, 500));
game.isApproved = action;
axios({
method: "PUT",
url: "api/games/" + game.id,
data: JSON.stringify(game),
headers: { 'Content-Type': 'application/json; charset=utf-8' }
});
// trying to refresh table after the axios Put request
setData(data);
};
Есть ли способ обновить состояние sh динамически без необходимости нажмите refre sh?
Спасибо!