Чего то не получается пофиксить ошибку: "A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework."
Окей, use это удобно что-то где-то забрать. А как мне заставить функциональны компонент, без кучи лишнего кода, заново забрать данные сервера (например где-то в другом месте приложения пришло уведомление по SSE)?
Разобрал твой вопрос. Дошло что имел ввиду) Можно написать свой хук либо использовать либу github.com/samouss/react-hooks-sse const useSSE = (url) => { const [data, setData] = useState(null); useEffect(() => { const eventSource = new EventSource(url); eventSource.onmessage = (e) => { const parsedData = JSON.parse(e.data); setData(parsedData); }; return () => eventSource.close(); }, [url]); return data; } А вот как это запихнуть в use и имеет ли смысл!? - Xороший вопрос) В доке реакта по use, стриминг стоит рядом с server components но пока адекватного решения не предоставлено. Если проинвестигируешь, можешь отписать сюда или в телеграм
Обожаю реакт за его "магию") Хуки реакта сами по себе костыли, потому что функции хуков не привязаны ни к какому контексту, а реакт просто внутри знает какой компонент сейчас "отрабатывает" и хранит очередь всех хуков для него. Именно поэтому нельзя хуки заворачивать в условия или циклы, потому что нарушится порядок их выполнения и значение хука может возвращаться некорректное значение. А новый use, по сути, выбрасывает исключение, чтобы прервать работу функции компонента, до тех пор, пока не выполнится промис. Тоже своего рода костыль, потому что это исключение нужно ради того, чтобы прерывать работу функции, а Suspense отлавливает его, чтобы не "краснить" консоль. А могли бы ведь просто использовать Svelte)
Как же «круто» они привели пример с одним инпутом. А пусть покажут как с огромными вложенными формами с валидацией и кастомными селектами это все будет работать. А, ой, не будет
▶ Telegram (ссыла на GitHub тут): t.me/Dmitry_Kolotilshikov/208
▶Курс Frontender[1.0] th-cam.com/play/PLV9lBwGQ2FU1VOctyWifetyMMC-OTJ51e.html&feature=shared
▶ React 19: react.dev/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024
Спасибо за подробный разбор! Очень полезно и понятно.
Благодарю! Очень полезно!
Огонь! Оч крутое изложение материала, все чётко, все понятно
💪
Спасибо! Ультра полезное видео!
💪
Целый Тарантиновский фильм! Димон радует подписчиков топовым контентом ❤
воу воу палехче 🎉 👌🏼 четкое объяснение
🫰
Очень классно показано все. Интересно появиться ли в react теперь computed как во vue
В реакте под это подходит useMemo, но работают они по-разному.
Чего то не получается пофиксить ошибку:
"A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework."
Тут написано про это react.dev/blog/2024/04/25/react-19
👍
Nice
Спасибо за видео! Просто для заметки, очень сильно бьёт по глазам яркие перебивки между таймкодами)
👍👌
Можно ли использовать хук use с axios ?
Axios по факту промис возвращает, значит да)
Можно ссылку на обои?
Окей, use это удобно что-то где-то забрать. А как мне заставить функциональны компонент, без кучи лишнего кода, заново забрать данные сервера (например где-то в другом месте приложения пришло уведомление по SSE)?
Разобрал твой вопрос. Дошло что имел ввиду)
Можно написать свой хук либо использовать либу github.com/samouss/react-hooks-sse
const useSSE = (url) => {
const [data, setData] = useState(null);
useEffect(() => {
const eventSource = new EventSource(url);
eventSource.onmessage = (e) => {
const parsedData = JSON.parse(e.data);
setData(parsedData);
};
return () => eventSource.close();
}, [url]);
return data;
}
А вот как это запихнуть в use и имеет ли смысл!? - Xороший вопрос)
В доке реакта по use, стриминг стоит рядом с server components но пока адекватного решения не предоставлено. Если проинвестигируешь, можешь отписать сюда или в телеграм
@@dmitry_kolotilshikov ну я джавист-бэкендер, и только вникаю в суть Реакта. Но в целом спасибо за наводку.
@@iozhukau вот классый гайд еще нода + реакт (SSE) medium.com/@imanshurathore/server-sent-events-in-react-30021f9ffc4a
Обожаю реакт за его "магию")
Хуки реакта сами по себе костыли, потому что функции хуков не привязаны ни к какому контексту, а реакт просто внутри знает какой компонент сейчас "отрабатывает" и хранит очередь всех хуков для него. Именно поэтому нельзя хуки заворачивать в условия или циклы, потому что нарушится порядок их выполнения и значение хука может возвращаться некорректное значение.
А новый use, по сути, выбрасывает исключение, чтобы прервать работу функции компонента, до тех пор, пока не выполнится промис. Тоже своего рода костыль, потому что это исключение нужно ради того, чтобы прерывать работу функции, а Suspense отлавливает его, чтобы не "краснить" консоль.
А могли бы ведь просто использовать Svelte)
Познавательно)
Но на костылях все построено😂
А почему не пройдя 1модуль переход на 3-й ?
Это не 3 модуль. Это Независимое видео от курса Frontender[1.0]
*чпок*
Noice!
Как же «круто» они привели пример с одним инпутом. А пусть покажут как с огромными вложенными формами с валидацией и кастомными селектами это все будет работать. А, ой, не будет
😁
Компайлер разве не отменили?
Нет)
useClient, useServer…. это мы куда идем? В сторону 1С? 😂
Может или в сторону пхп)
++++++++++++++++
Хук в условии???
Именно)
Это что то какой то новый некст на минималках
😅🤔
хрень