Перейти к содержанию

Фронтенд

HTML, CSS, JavaScript, React, Vue, Angular, Svelte, UI фреймворки! Адаптивная верстка, оптимизация, Webpack/Vite, SSR. Помощь новичкам, экспертные кейсы, тренды (PWA, JAMstack).

19 Темы 41 Сообщения

Подкатегории


  • Делитесь опытом, задавайте вопросы и обсуждайте Angular. Найдите ответы по разработке на Angular: компоненты, директивы, роутинг, RxJS, NGRX, NGXS, оптимизация и лучшие практики. Актуальные туториалы, решения ошибок и тренды Angular 12+.

    0 0
    0 Темы
    0 Сообщения
    Нет новых сообщений
  • Обсуждайте Vue: компоненты, Vuex, Vue Router, Composition API! Создавайте SPA, оптимизируйте приложения, решайте ошибки. Помощь новичкам, советы по Vue 3.0+, интеграция с Nuxt.js и Vite. Делитесь кодом, изучайте тренды.

    3 11
    3 Темы
    11 Сообщения
    kirilljsK
    @Hater надо
  • Обсуждаем React: JSX, Redux, React Hook Form, MobX, Custom Hooks, Хуки, Zustand, Vite, Webpack, MUI. Поделись опытом, задай вопросы и получи ответы от сообщества разработчиков React. Узнай, как создавать мощные и масштабируемые приложения с помощью React и его экосистемы.

    10 14
    10 Темы
    14 Сообщения
    kirilljsK
    Продолжаю делиться своими находками из React 19, про три важных нововведения: работу с ref, метаданными и обработку ошибок. Эти изменения существенно упрощают разработку и делают код более чистым. Упрощённая передача ref Раньше, чтобы передать ref в компонент, нужно было оборачивать его в forwardRef. Это создавало дополнительный уровень сложности и увеличивало объём кода. В React 19 всё стало гораздо проще — теперь можно передавать ref как обычное свойство! Пример: function CustomButton({ ref }) { return <button ref={ref}>Нажми меня</button>; } // Использование: <CustomButton ref={myButtonRef} />; Теперь не нужно думать о том, как правильно обернуть компонент или следить за тем, чтобы ref был корректно передан. Код стал понятнее и короче. Особенно это полезно для небольших компонентов, где использование forwardRef раньше казалось избыточным. Поддержка метаданных Ещё одно долгожданное изменение — возможность напрямую управлять метатегами (<title>, <meta>, <link>) прямо внутри компонентов. Раньше для этого приходилось использовать сторонние библиотеки, такие как react-helmet. Теперь всё это доступно “из коробки”. Пример: function BlogPost({ post }) { return ( <article> <h1>{post.title}</h1> <title>{post.title}</title> <meta name="description" content={post.summary} /> <meta name="keywords" content={post.tags.join(', ')} /> <p>{post.content}</p> </article> ); } Это особенно удобно для управления SEO-данными. Например, если вы пишете блог или новостной сайт, теперь можно легко динамически обновлять заголовки и метатеги на основе данных, полученных от сервера. Плюс ко всему, это работает быстрее, чем через сторонние решения. Оптимизированная обработка ошибок Ошибки — это неизбежная часть разработки, но React 19 сделал их обработку намного удобнее. Теперь сообщения об ошибках стали более информативными и компактными. Система отображает только одно четкое сообщение, что помогает быстрее находить и исправлять проблемы. Например, раньше при возникновении ошибки могла появиться целая куча текста с трейсами, которые были трудно интерпретировать. Сейчас же вы видите только самое важное: Error: Cannot read properties of undefined (reading 'map') Component: BlogPost Location: src/components/BlogPost.js:25 Это значительно ускоряет процесс отладки, особенно в больших проектах, где раньше приходилось тратить время на анализ огромных логов. Личные впечатления Поработав с этими нововведениями, могу сказать, что они действительно делают жизнь разработчика проще. Вот что мне особенно понравилось: Упрощённая работа с ref: больше никаких лишних обёрток, всё просто и интуитивно. Метаданные: теперь можно забыть про react-helmet и подобные библиотеки. Всё необходимое есть в React. Обработка ошибок: более чёткие сообщения помогают быстрее находить проблемы, а это экономит кучу времени. Если у вас есть опыт использования этих фич или вопросы по ним — пишите в комментариях! Интересно узнать, как эти изменения повлияли на ваши проекты.
  • обсуждение SSR, SSG, API Routes, ISR, оптимизации производительности. Советы по роутингу, деплою (Vercel), интеграции с TypeScript, Tailwind. Решение ошибок, лучшие практики, кейсы. Обмен опытом и помощь от сообщества разработчиков

    3 3
    3 Темы
    3 Сообщения
    JspiJ
    Однажды может случиться так, что на вашем сервере какая-либо команда может вернуть ошибку No space left on device, вы ожидаете, что закончилось место, проверяете его, но все порядке, так в чем же причина? Если ваша система наполнена невероятным количеством файлов, то можно достичь предела inodes до того, как исчерпать возможности хранения накопителя. (лучше иметь большие файлы, чем слишком много маленьких) Для проверси предела Inodex можно воспользоваться командой: sudo df -i и получить подобное: Filesystem Inodes IUsed IFree IUse% Mounted on udev 495152 353 494799 1% /dev tmpfs 501143 519 500624 1% /run /dev/vda1 3276800 3276800 0 100% / tmpfs 501143 3 501140 1% /dev/shm tmpfs 501143 2 501141 1% /run/lock tmpfs 100228 21 100207 1% /run/user/0 tmpfs 100228 20 100208 1% /run/user/1000 это и значит, что у нас что-то создало очень много мелких файлов. Next.js и его кеш могут генерировать очень много файлов До 15 версии Next.js все запросы fetch() кешируются по умолчанию, и если ничего не настраивать, то их может скопиться очень много в виде файлов в папке .next/cache/fetch-cache/ В итоге вам достаточно просто почистить папку с кешем. rm -rf .next/cache/fetch-cache
  • 1 3
    1 Темы
    3 Сообщения
    JspiJ
    [image: 1747052615116-1523475183_e-news.su_920b080x-ezgif.com-resize.gif]
  • Яндекс Практикум реальный отзыв

    Перенесена
    1
    1
    1 Голоса
    1 Сообщения
    26 Просмотры
    Нет ответов
  • Vue.js и React — необычное сравнение

    10
    1
    3 Голоса
    10 Сообщения
    194 Просмотры
    D
    Vue SFC (однофайловые компоненты) — как аквариум: HTML, JS, CSS плавают рядышком, но не мешают друг другу. JSX — это когда рыбы, водоросли и фильтры свалены в одну кучу, зато можно собрать подводный велосипед.