Это краткое справочное руководство по правилам, которые я использую для организации компонентов при создании приложения React. Я обнаружил, что наличие четко определенной системы помогает не только с организацией, но также помогает лучше определить, как компоненты сочетаются друг с другом, и максимизировать возможность повторного использования в кодовой базе.
Обязательно ознакомьтесь с расширенной версией этой статьи, если вас интересуют примеры кода, образцы репозитория и дополнительная информация об атомарном дизайне.
Когда я изначально создаю приложение React, я помещаю весь код в /srcпапку. В /src/componentsпапке находятся все компоненты React, разделенные на пять категорий атомарного дизайна: атомы, молекулы, организмы, шаблоны и страницы. Для удобства они уже расположены в алфавитном порядке от самого маленького концептуального элемента до самого большого!
/routesПапка (которая может быть названа иначе, как в Next.js , где было бы также назвать pages) я бы рекомендовал держать отдельно от /components/pagesтого , чтобы отделить код страницы пользовательского интерфейса от кода приложения маршрутизации.
/..
--/node_modules
--/public
--/src
--|-/components
--|-|-/atoms
--|-|-/molecules
--|-|-/organisms
--|-|-/templates
--|-|-/pages
--|-/routes
--|-/styles
--|-/utility
--|-/etc...
Атом является самым основным компонентом, так как общее , как может быть. Подумайте о кнопках, вводе или отформатированном тексте заголовка:
В молекулах атомы сочиняет , чтобы создать более сложный компонент, со своей разметкой и стайлинга добавить в смесь. Очень похоже на атомы, но представляйте что-то вроде многоразового фрагмента формы с вводом, меткой и сообщением об ошибке или карточкой продукта с заголовком, подзаголовком и изображением:
Организм , где бизнес - логика приложения начинает выходить. Они могут соответствовать определенной функции или разделу приложения. Они также могут быть общеприменимыми, но тесно связаны с логикой приложения. Выборка данных и чтение / запись в состояние приложения должны в первую очередь происходить здесь (или, альтернативно, на уровне страницы). Это может быть вся форма, часть карточки покупок или профиль пользователя:
Шаблон является способом для того, чтобы страницы вашего приложения совместимы. Они занимаются созданием макета и позволяют легко узнать, в какие области контента или функциональности нужно перейти. Есть несколько способов создания шаблонов. Я предпочитаю иметь один компонент, который принимает другие компоненты в качестве реквизита и вставляет эти дочерние элементы в разметку для конкретного макета:
Эти страницы являются последней частью головоломки Atomic Design, и каждый из них будет осуществлять определенный шаблон. Я предпочитаю очень простые компоненты страницы, но они могут быть более сложными, если вы предпочитаете простые маршруты ( см. Следующий раздел ). По сути, страница просто реализует шаблон, назначая правильных дочерних элементов правильным свойствам шаблона:
Наконец, маршруты , хотя и не являются частью атомарного дизайна сами по себе, по-прежнему важны для размышлений в React. Помимо обработки маршрутизации для вашего веб-сайта, маршруты могут брать на себя любые обязанности, которые страницы могут не выполнять. Один или другой компонент Page или Route должен быть относительно простым, а другой должен обрабатывать любую сложность, включая выборку данных, бизнес-логику, состояние приложения и т. Д.
Опять же, если вы хотите более подробно изучить, как это работает на практике, прочтите следующее !
Подпишитесь на меня в Twitter @BenjaminWFox, чтобы узнать больше о технологиях, лидерстве и другом контенте, и обращайтесь с любыми мыслями или вопросами!
Первоначально опубликовано на https://benjaminwfox.com .
Введение Инсульт — это неотложная медицинская помощь, которая может случиться с кем угодно в любое время. Это происходит, когда приток крови к части мозга нарушается, что приводит к внезапной потере функции мозга.
Отправляйтесь в захватывающее путешествие инноваций и успеха, используя неиспользованный потенциал этих удивительных платформ без кода. Позвольте мне поделиться с вами историей о Сапне, замечательной женщине-предпринимателе.
Любой здравомыслящий человек знает, что в политических и медийных кругах доминируют левые, даже крайне левые, что создает дисбаланс в политическом дискурсе. В области религии этот дисбаланс хорошо виден: левые газеты и сети не спешат защищать христианскую веру.
Привет, киберлюбители! Добро пожаловать обратно в серию OSINT по поиску угроз. В первой статье я рассказал вам об OSINT и его важности для поиска угроз.
(Предупреждение — это сатира, предназначенная для радостной подрывной деятельности — определенно не для детей) Вы видели, как ваши мама и папа прячутся на кухне и курят эти вонючие сигареты. Они говорят вам.
Вы можете быть исследователем OSINT, игроком CTF или просто тем, кто получает спам-звонки. Кто-то, кто пытается проверить номер, который вы видели в рекламе.