Однако, когда я пытаюсь запустить свой код, он застревает в компоненте Suspense и запускается повторно. выполнение http-запросов.
Код: Выделить всё
import { Suspense, use } from 'react';
import axios from 'axios';
function App() {
return (
Hello World!
);
}
function SteamApiGameCountRequest() {
const response = use(getGames());
return (
I have {response.response.game_count} games
);
}
async function getGames() {
const res = await axios.get('http://localhost:5173/GetOwnedGames',
{
params: {
format: 'json',
steamid: '76561198194449583'
}});
return res.data;
}
export default App;
Я знаю, что проблема не связана ни с одним моим асинхронным кодом, поскольку у меня есть заставил его успешно работать с помощью ловушки useEffect().
Код: Выделить всё
import { useEffect, useState } from 'react';
import axios from 'axios';
function App() {
return (
Hello World!
);
}
function SteamApiGameCountRequest() {
const [response, setResponse] = useState({});
const [loading, setLoading] = useState(true);
useEffect(() => {
const getGames = async () => {
const res = await axios.get('http://localhost:5173/GetOwnedGames',
{
params: {
format: 'json',
steamid: '76561198194449583'
}});
setResponse(res.data);
setLoading(false);
}
getGames();
}, []);
if (loading) {
return (
Loading...
);
} else {
return (
I have {response.response.game_count} games
);
}
}
export default App;
Я чувствую, что ответом на этот вопрос, скорее всего, будет просто использовать React 18 до тех пор, пока Vite не обновится, поскольку Vite в настоящее время не поддерживает React 19, но если я делаю что-то не так, ответ был бы очень признателен.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ion-of-vit
Мобильная версия