Хук use() в React 19 не работает должным образом в последней версии ViteJavascript

Форум по Javascript
Ответить
Anonymous
 Хук use() в React 19 не работает должным образом в последней версии Vite

Сообщение Anonymous »

Недавно я начал новый проект реагирования с использованием Vite и обновил его с React 18.3 (с которым поставляется Vite) до React 19 (на React, React-dom и их модулях типов), так как я хочу использовать новый use(), так как он кажется очень полезным для сокращения кода для http-запросов.
Однако, когда я пытаюсь запустить свой код, он застревает в компоненте 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;
html-страница зависла в резервном компоненте приостановки при неоднократном выполнении HTTP-запросов.
Я знаю, что проблема не связана ни с одним моим асинхронным кодом, поскольку у меня есть заставил его успешно работать с помощью ловушки 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;
Однако здесь задействовано гораздо больше стандартного кода, и я планирую использовать гораздо больше вызовов API в своем приложении, поэтому было бы лучше, если бы я мог использовать новый хук.
Я чувствую, что ответом на этот вопрос, скорее всего, будет просто использовать React 18 до тех пор, пока Vite не обновится, поскольку Vite в настоящее время не поддерживает React 19, но если я делаю что-то не так, ответ был бы очень признателен.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ion-of-vit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»