#21: 🍕 React Pizza v2 - Используем TypeScript + ReactJS (практика)

  Рет қаралды 21,242

Archakov Blog

Archakov Blog

Күн бұрын

Пікірлер: 100
@jullpic
@jullpic 2 жыл бұрын
За что я люблю курсы Арчаков блог♥️ Арчаков: Я не буду тебе подробно разжовывать все детали. Также он: *на протяжении часа разжовывает десятиминутный материал, чтобы мы точно всё поняли*
@yakub8798
@yakub8798 2 жыл бұрын
мне тоже за это его уроки нравятся , а то другие говорят сделай так , тут подключи это, посмотри то , но ничего толком не объясняют.
@burunduckc
@burunduckc Жыл бұрын
@@yakub8798 и причем, это говорят в платных курсах))) арчаков -- лучший человек, который может дать беслптаный материал. Жаль что не все смотрят такой контент(
@ВладимирПалкин-е8ь
@ВладимирПалкин-е8ь 10 ай бұрын
Можешь пропустить
@Андрійсметанін
@Андрійсметанін 9 ай бұрын
так он же сказал что за это ему и нравиться его контент! :)@@ВладимирПалкин-е8ь
@warcraft.mp4889
@warcraft.mp4889 8 ай бұрын
да много воды если честно, которая прям бесполезная. С другой стороны - нет ощущения что ты чего-то не догоняешь, возможно в этом есть какой-то плюс даже.
@bagaudinparchiev8965
@bagaudinparchiev8965 2 жыл бұрын
{ "compilerOptions": { "target": "es5", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "jsx": "react-jsx" }, "include": [ "src", ] } конфиг с урока)
@whiteguards43
@whiteguards43 2 жыл бұрын
Спасибо!
@goodcthulhu250
@goodcthulhu250 2 жыл бұрын
Благодарю 😊
@e_viskhan
@e_viskhan 2 жыл бұрын
Красава
@МаксимКожемяко-з8ш
@МаксимКожемяко-з8ш Жыл бұрын
спасибо
@FilmsMediaTV
@FilmsMediaTV Жыл бұрын
красавчик!) спасибо
@КонстантинПоломин-ч7щ
@КонстантинПоломин-ч7щ 2 жыл бұрын
Если, кто заметил есть небольшой баг в корзине(может он чисто у меня), когда мы удаляем количество пицц(нажимая на минус), у нас они могут пойти в отрецание, для этого добавьте в компонент CartItems(в вашу корзину) измените функцию на "const onClickMinus = () => { if (count > 0) { dispatch(minusItem(id)) } }" и еще один момент когда вы у вас счётчик ноль на пицце в корзине, чтобы когда вы добавили новую пиццу она не отображалась со счётчиком ноль(поймете когда увидите) в redux в cartSlice в minusItem добавите "state.items = state.items.filter((obj) => obj.count !== 0);" Может кому понадобиться)
@user-belnv
@user-belnv 5 ай бұрын
привет, я придумал другое решение - 1? onClickMinus : undefined}>
@alekso002
@alekso002 4 ай бұрын
thx u so much
@jacktwinn
@jacktwinn 2 жыл бұрын
блин, какое офигенное чувство, когда ты сделал местами не как в видео, словил ошибки от TS которых нет в уроке, и сам разобрался с ними)) спасибо за то что хорошо объясняешь и даешь понимание!)
@alikrekrytov6865
@alikrekrytov6865 2 жыл бұрын
Лучший курс в IT индустрии!!! БЕЗ ВЫКЛЯНЧИВАНИЯ ДЕНЕГ ! РЕСПЕКТ АВТОРУ!
@whiteguards43
@whiteguards43 2 жыл бұрын
Те кто просят за курс деньги, не заставляют тебя платить за него, они ведь тоже тратили время на его запись, тоже хотят заработать. Тоже самое что если работадатель найдет того кто работает за бесплатно и скажет ему "Лучший разраб без выклянчивания денег"
@Host-Tach
@Host-Tach 6 ай бұрын
@@whiteguards43 тебя тоже взбесила эта фраза да?)))
@whiteguards43
@whiteguards43 6 ай бұрын
@@Host-Tach Да.
@orest4778
@orest4778 2 жыл бұрын
20:55 - можно написать следующим образом: const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement)); Тем самым сказав TS, что это точно будет элемент, а не null.
@Evgeny..
@Evgeny.. 2 жыл бұрын
в шаблоне для редакса есть такая фича
@orest4778
@orest4778 2 жыл бұрын
@@Evgeny.. в каком шаблоне?
@biLLie_wiLLie
@biLLie_wiLLie 2 жыл бұрын
@@orest4778 для редакса
@orest4778
@orest4778 2 жыл бұрын
@@biLLie_wiLLie Гений
@Evgeny..
@Evgeny.. 2 жыл бұрын
@@orest4778 если установливать CRA redux -template typescript. То там из коробки так написано будет
@neys4171
@neys4171 2 жыл бұрын
Обожаю ваши видео спасибо вам большое 😁🤩
@handyfrontend
@handyfrontend 11 ай бұрын
Ребят, чтобы решить проблему с многочисленными ошибками из-за typescript - пересобирите сборку на vite, например. Мне помогло
@Радар-ТВ
@Радар-ТВ 11 ай бұрын
хорош
@IvanCrazyArchangelsk
@IvanCrazyArchangelsk 11 күн бұрын
А потом ставим vite-plugin-checker и добавляем в defineConfig Витька import checker from 'vite-plugin-checker'; plugins: [ checker({ root: path.resolve(__dirname, './tsconfig.json'), typescript: true, overlay: true, enableBuild: true }), ] и радуемся вернувшимся многочисленными ошибкам, которые никуда, на самом деле, не пропадали)
@navajo458
@navajo458 Жыл бұрын
В FullPizza мы возвращаем строку, а не reactElement, отсюда и все проблемы (TS кстати, это и пишет). Достаточно обернуть "загрузка..." jsx и все будет работать.
@cocochanel2324
@cocochanel2324 5 ай бұрын
Какие звуки я издаю после просмотра видео 54:00 :D
@МаксимСоловьев-с9н
@МаксимСоловьев-с9н Жыл бұрын
Лучшее объяснение!!!
@ГеннадийГорохов-ц8н
@ГеннадийГорохов-ц8н 10 ай бұрын
Шикарное видео по тайпскрипту
@IvanCrazyArchangelsk
@IvanCrazyArchangelsk 11 күн бұрын
Видео огонь! Только есть один важный недочёт! В tsconfig стоит target ES5, что означает, что TS потом сконвертирует вам в продакшн JS код по стандарту ES5. Если разница между ES2023 и ES2022 не шибко, то установленный ES5 будет без стрелочных функций, промисов, деструктуризации, импортов и набьёт ваш код var'ами. Условно, вы можете уже на старте писать легаси код из 2014-го и не подозревать об этом. ES6 держит почти любой браузер сейчас, поэтому выбор очевиден.
@СветланаАндреевна-х8р
@СветланаАндреевна-х8р Жыл бұрын
Спасибо, у вас самые понятные уроки!
@romanriezanov1704
@romanriezanov1704 2 жыл бұрын
Для root есть более корткое решение, без "if". Попробуйте так: const root = ReactDOM.createRoot( document.getElementById("root") as HTMLElement ); Ошибки не будет)
@dimadiv6583
@dimadiv6583 2 жыл бұрын
Спасибо за решение)))
@АлексейСоловьев-е9о
@АлексейСоловьев-е9о Жыл бұрын
еще более короткое) друг подсказал. const root = ReactDOM.createRoot(document.getElementById('root')!)
@SergeyTebrikj
@SergeyTebrikj Жыл бұрын
лайк однозначно, все доходчиво и просто разжевываешь)
@dotg6618
@dotg6618 Жыл бұрын
вот бы с самого начала собирал на Vite но как есть прекрасно, спасибо
@СтройКонсалт
@СтройКонсалт Жыл бұрын
День 12-й, часть II. Дэну респект #21**21.
@rustamakhmetyanov4404
@rustamakhmetyanov4404 2 жыл бұрын
Используем TypeScript + ReactJS/ спасибо за курс
@Aurum-Boss
@Aurum-Boss 2 жыл бұрын
Всё работает.Есть 3 предупреждения в итоге.2 связанные с импортами без расширения .tsx(./App.tsx, ./pages/FullPizza.tsx) ваще не работает.И одно предупреждение связано с tsconfig.json обозначает объект{}, в который заключен json ошибкой и что-то не может найти пути в конце "include","exclude" запятые стоят :).Возможно действительно нужно покапаться в настройках вебпака или тсконфиг донастроить.
@Татьяна-ю1р2м
@Татьяна-ю1р2м 2 жыл бұрын
спасибо за крутое обучение!!!!
@Unnamed-r8x
@Unnamed-r8x 2 жыл бұрын
Автор давай еще какой классный курс ))
@alexandr8151
@alexandr8151 2 жыл бұрын
хорошее введение в тайп скрипт!
@ibragimAst
@ibragimAst 3 ай бұрын
Дела реза хуьлда, сан ваш!
@Deduska-ded
@Deduska-ded Жыл бұрын
Очень странно что даже в оф. доке написано что tsconfig необязателен, но за первую ошибку(Module not found) без tsx расширения отвечает как раз строчка "jsx": "react" в tsconfig. Решается созданием дефолтного tsconfig через tsc --init
@mrrappbit
@mrrappbit Жыл бұрын
Красавчик! Правда всё равно очень подробно получается) 😅
@tw1spy
@tw1spy Жыл бұрын
супер, дякую!
@АлександрИванькович-т9ф
@АлександрИванькович-т9ф 2 жыл бұрын
Мне нравится TS за то что у него есть autocomplete
@jamjam3337
@jamjam3337 2 жыл бұрын
🔥🔥🔥
@artman9592
@artman9592 2 жыл бұрын
спасибо
@МаксШувалов-о3н
@МаксШувалов-о3н Жыл бұрын
Подчеркивало import App from './App.tsx' но запускалось. Когда убирал расширение tsx выдавало ошибку что не находил App. Решил проблему так: создал отдельный проект через npx create-react-app my-app --template typescript, скопировал tsconfig и вставил в проект пиццу, может у кому то понадобится.
@warcraft.mp4889
@warcraft.mp4889 8 ай бұрын
А я прочитал в vscode тело ошибки (An import path can only end with a '.tsx' extension when 'allowImportingTsExtensions' is enabled) и добавил этот параметр с true в tsconfig. ВСе пропало
@sashap1rus562
@sashap1rus562 2 жыл бұрын
Лучший
@zakiro4277
@zakiro4277 Жыл бұрын
21:52 тоже такая же ошибка вышла все ок
@kenanhaciyev3759
@kenanhaciyev3759 Жыл бұрын
разжевал)
@Мария-ц8ъ2е
@Мария-ц8ъ2е Жыл бұрын
TypeScript ReactJS Redux
@shokhrookhr3850
@shokhrookhr3850 2 жыл бұрын
Ураааааа🥳
@alexeyfilippov42
@alexeyfilippov42 2 жыл бұрын
На сколько видео еще рассчитан урок? и добавь пожалуйста весь курс в плейлист
@Evgeny..
@Evgeny.. 2 жыл бұрын
если сразу весь курс, то просмотров будет меньше
@alexeyfilippov42
@alexeyfilippov42 2 жыл бұрын
@@Evgeny.. с чем связан плейлист и просмотры
@Евгений-х7п9с
@Евгений-х7п9с 2 жыл бұрын
Бро, а нельзя было заюзать опциональную цепочку на руте?
@archieankaev7741
@archieankaev7741 Жыл бұрын
у меня ошибка только на root была, исправлять ничего не потребовалось :D
@thomasgabe3588
@thomasgabe3588 2 жыл бұрын
странно у меня tsconfig.json сам появился после установки TypeScript практически с такими же настройками как у вас
@whiteguards43
@whiteguards43 2 жыл бұрын
А где ссылка на конфиг (?
@rostislavpotapov7215
@rostislavpotapov7215 2 жыл бұрын
в репе проекта лежит....
@ПерсивальЛоуэл
@ПерсивальЛоуэл Жыл бұрын
43:41
@neilwatts2402
@neilwatts2402 Жыл бұрын
53:58 утка?
@arthurr172
@arthurr172 Жыл бұрын
азазхахах
@Yusuf_Nohcho
@Yusuf_Nohcho Жыл бұрын
😂😂
@bobozaka
@bobozaka 2 жыл бұрын
@Archakov Blog забыл прикрепить tsconfig
@Человек-р9ц
@Человек-р9ц 2 жыл бұрын
На гитхабе в проекте лежит
@ГригорийБотаров
@ГригорийБотаров 2 жыл бұрын
если прям влом лезть на гитхаб, можешь создать новый проект с typescript изначально, вытащить оттуда tsconfig и перенести его в нынешний проект
@НиколайБалабанов-ц6п
@НиколайБалабанов-ц6п Жыл бұрын
Компонент должен возвращать JSX, в этом и проблема в FullPizza. Заговорился, наверное
@betteramsly8341
@betteramsly8341 2 жыл бұрын
джазаакаЛлох1у хойр
@webstep4677
@webstep4677 2 жыл бұрын
Есть ли смысл смотреть первую пиццу? Или пицца #2 современный вариант и первая устарела?
@pustotaxoxo
@pustotaxoxo 2 жыл бұрын
Посмотри первый видос пицца v2, вроде он там все рассказывает про это
@GUNTRUP_
@GUNTRUP_ 2 жыл бұрын
24:24 - почему-то ошибок нету вообще таких как у тебя
@markwahlberg9358
@markwahlberg9358 2 жыл бұрын
+
@mr.zxzxzxz3816
@mr.zxzxzxz3816 Жыл бұрын
ts react js
@mrrappbit
@mrrappbit Жыл бұрын
также только на root ругался и все, остальное пашет
@miloman1995s
@miloman1995s 2 жыл бұрын
блин чел я подписался на бусти чтобы увидеть исходники отдельные к каждому уроку..... а исходников нет, что за дела? есть один Init ный там какой то и еще пару кривых и все... почему нету по полочкам, вот к этому уроку свой исходник, к другому другой.... так все делают нормальные ребята... что за фигня?! ( у тебя же к этом уроку уже не исходник который можно с тобой делать и менять под видео а уже готовый епт код со всеми тс изменениями)
@mex5341
@mex5341 2 жыл бұрын
на 150 руб беднее стал ,офигеть
@matvienko_p
@matvienko_p 10 ай бұрын
tsconfig: { "compilerOptions": { "target": "es5", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "jsx": "react-jsx" }, "include": ["src"] }
@JdIm6fhjLgdWRhn
@JdIm6fhjLgdWRhn Жыл бұрын
50:00
@MtChannel6wee
@MtChannel6wee Жыл бұрын
@Archakov Blog после установки typeSrcipt у меня все полетело, теперь вообще не знаю что делать... Выдает такую ошибку уже что только не пробовал и node-sass удалял и обновлял и версии менял ничего не помогает, может быть ты можешь подсказать что делать или как хотя бы назад откатиться и удалить typeScript из проекта? Ошибка: ./src/scss/app.scss (./node_modules/css-loader??ref--6-oneOf-5-1!./node_modules/postcss-loader/src??postcss!./node_modules/sass-loader/lib/loader.js??ref--6-oneOf-5-3!./src/scss/app.scss) Error: Node Sass version 9.0.0 is incompatible with ^4.0.0.
@MtChannel6wee
@MtChannel6wee Жыл бұрын
Если у кого -то будет похожая проблема я не понял сам как я это решил, но попробуйте заменить в tsconfig.json "target": "esnext", "module": "esnext", на "target": "esnext", "module": "commonjs", я сидел с этой проблемой несколько дней и не мог найти ответа как это решить, также index.js у меня выглядит так: import ReactDOM from "react-dom/client"; import { BrowserRouter } from "react-router-dom"; import { Provider } from "react-redux"; import App from "./App"; import { store } from "./redux/store"; const portalDiv = document.getElementById('root')!; const root = ReactDOM.createRoot(portalDiv); root.render( ); Может быть кому-то сэкономит время,удачи!
@NayroTV
@NayroTV Жыл бұрын
@@MtChannel6wee челллл сппппппппаааассссссссибббббооооооо)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
@gyyazali
@gyyazali 11 ай бұрын
При импорта модульных css выходит такая ошибка на tsx Cannot find module './fullPizza.module.css' or its corresponding type declarations
@betteramsly8341
@betteramsly8341 2 жыл бұрын
лучший
Увеличили моцареллу для @Lorenzo.bagnati
00:48
Кушать Хочу
Рет қаралды 8 МЛН
ТВОИ РОДИТЕЛИ И ЧЕЛОВЕК ПАУК 😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 5 МЛН
Хочу стать Junior React
18:42
Y_LAB University
Рет қаралды 6 М.
CI/CD - Простым языком на понятном примере
15:29
Артём Шумейко
Рет қаралды 110 М.
КАК УСТРОЕН TCP/IP?
31:32
Alek OS
Рет қаралды 219 М.
Увеличили моцареллу для @Lorenzo.bagnati
00:48
Кушать Хочу
Рет қаралды 8 МЛН