NextJS 13. Быстрый старт
NextJS – это фреймворк для разработки React-приложений с отличной производительностью и интуитивной структурой. Версия 13 знаменует собой множество новых функций и улучшений. Давайте рассмотрим некоторые из них.
Установка
Для установки NextJS 13 вам понадобится Node.js и пакетный менеджер npm или yarn. Выполните следующую команду в терминале для установки:
$ npm install next@13
Создание нового проекта
После успешной установки, создайте новую папку для вашего проекта и перейдите в нее:
$ mkdir my-next-project
$ cd my-next-project
Затем выполните следующую команду, чтобы создать новый NextJS проект:
$ npx create-next-app .
Разработка
Теперь вы можете начать разрабатывать свое приложение. Все компоненты и страницы следует размещать в папке “pages”, а стили – в папке “styles”.
my-next-project/
├── pages/
│ ├── index.js
│ └── about.js
├── styles/
│ └── main.css
├── next.config.js
└── package.json
Для запуска разработческого сервера, используйте следующую команду:
$ npm run dev
Это запустит сервер по адресу http://localhost:3000, где вы сможете увидеть свое приложение в работе.
Пользовательские маршруты и динамические параметры
NextJS 13 предлагает простой синтаксис для создания пользовательских маршрутов и работы с динамическими параметрами. Например, для создания маршрута “/users/:id” можно создать файл “users/[id].js” внутри папки “pages”.
my-next-project/
├── pages/
│ ├── index.js
│ ├── about.js
│ └── users/
│ └── [id].js
├── styles/
│ └── main.css
├── next.config.js
└── package.json
Теперь, когда вы открываете страницу “/users/123”, параметр “id” будет доступен внутри компонента “users/[id].js”. Вы можете использовать его для запросов к серверу или для отображения динамического контента.
Использование API и серверной отрисовки (SSR)
NextJS 13 предоставляет встроенную поддержку серверной отрисовки. Вы можете создавать серверные функции внутри папки “pages/api” и получать доступ к ним по адресу “/api/название_файла”. Например, создайте файл “pages/api/users.js” для получения списка пользователей.
my-next-project/
├── pages/
│ ├── index.js
│ ├── about.js
│ ├── users/
│ │ └── [id].js
│ └── api/
│ └── users.js
├── styles/
│ └── main.css
├── next.config.js
└── package.json
Внутри файла “users.js” вы можете написать код для получения данных, например, из базы данных, и вернуть их в виде JSON. Этот файл будет доступен по адресу “/api/users”.
При работе с серверной отрисовкой в NextJS также доступны серверные функции getServerSideProps и getStaticProps для получения данных, которые будут переданы в компонент страницы.
Заключение
NextJS 13 – блестящий фреймворк для разработки React-приложений с множеством полезных функций и простым в использовании синтаксисом. Он позволяет создавать производительные и масштабируемые приложения без лишних хлопот. Если вы только начинаете свой путь в разработке или уже опытный разработчик, NextJS будет отличным выбором для вас.
Только у меня проблемы со стилями возникли?
Очень интересно и понятно, спасибо
Супер! Единственный нормальный ролик в ру-сегменте про Nextjs13
Реакт это абстракция над JS, теперь есть еще и абстракция над Рекактом, доколе это будет продолжаться?
Лица тех, кто сейчас пытаеться вкатиться в разрабокту, пердставили?
Очень крутое видео! Огромная благодарность вам!
Сильно отличается от реакта? Редакс тулкит хуки – это все есть? Или он пишется совсем по-другому ?
обожнюю ваш канал!
Спасибо! Ваше объяснение гораздо приятнее, чем официальная дока
а что значит "наши стили" не понял этого прикола) где их брать?
Спасибо за урок )
Есть уроки с Редаксом ?
По поводу расширений 30:28 – обычно это вызвано тем, что расширение передает эти дополнительные атрибуты вместе с вашим кодом, когда оно выполняется в браузере, пытаясь взаимодействовать с пользовательским интерфейсом. Это создает несоответствие между тем, что было визуализировано на сервере, и тем, что визуализировалось на клиенте.
Таким образом, причиной появления этого предупреждения являются расширения, подобные Grammarly , ColorZilla и LanguageTool , поэтому вам необходимо выяснить, какое из них это делает, а затем отключить/настроить его, чтобы оно не запускалось на портах, которые вы обычно используете для разработки. Это простое решение проблемы предупреждения , поскольку всегда рекомендуется избегать расширений в процессе разработки.
Источник stackoverflow
Спасибо большое! Параллельно делал свой пет проект в Next.js. Но у меня преграда с id на страницу поста. Id = /business/2023/sep/24/fca-draws-up-tougher-rules-to-protect-women-from-workplace-abuse. Из-за этих слешов я не могу ввести апи поста. Так как next переводит его на страницу по слешам. Что делать?
Михаил, благодарю!
Очень достойное видео
Спасибо за урок❤
Не зміг не залишити комент. Дууже крута подача, дужі легко подаеш інформацію, контент просто обалденний ! Дуже вдячний тобі Міша !👍
Прекрасный урок. Я уже разрабатывал на Next, но это видео открыло для меня другой подход. Видимо до этого я использовал старый метод, без App routing.
Если я правильно понял то SSG к примеру с статьями в блоге генерирует на этапе билда много html страничек. Так вот странная штука мы вроде как наполовину с серверной частью работаем, но без полного функционала получается, т.е. если мне нужно постоянно посты добавлять, то надо заного билдить проект? Я как-то сначала воодушевился next.js,а сейчас приостыл и мне кажется, что проще уже тогда сразу на серверной части все хорошо проработать. Или может я что-то не так понял. Подскажите кто в теме, как работает SSG с новыми добавленными в готовый проект статьями?
Гениально и просто, у Вас талант объяснять людям