Create a page component

В сайтах Gatsby есть два основных типа компонентов.

Первый тип — это компоненты страниц. Они содержат все элементы внешнего вида конкретной страницы твоего сайта.

В этом примере мы создадим два компонента страниц: для главной страницы и About.

Создание компонента сайта Gatsby

Надо будет посмотреть, что внутри файла index.js. И сравнить, что было до и что стало после.

Изменям контент главной страницы Создаём новую страницу About Надо поменять названия файлов более атомарно. Не «Создаём новую страницу About», а «Как создать новую страницу компонент React». Надо погуглить, как это называется на программистском)

Второй тип — это Компоненты-кирпичики React.

После того, как мы создали несколько компонентов страниц, время создать несколько компонентов-кирпичиков. Это не официальное название, но очень подходит.

Компоненты-кирпичики — это часть страницы. Например, меню навигации или шапка сайта.

Маленькие компоненты-кирпичики можно комбинировать в компонентах-страницах.

Самое полезное в компонентах-кирпичиках, что их можно использовать в разных местах своего сайта.

В React есть встроенная фича для создания динамичных компонентов — properties или props.

Можно менять props компонентов, чтобы менять их внешний вид, как они будут выглядеть на странице. Это, наверно, про то, как в статье Кода писали.

Когда определяешь аргумент, ему надо дать отдельное обозначение, как на примере. И потом это значение может меняться. А не то, что забил раньше.

Теперь у нас есть две страницы: главная и About, но перейти на них можно только изменив адрес вручную. Поэтому мы добавим ссылки.

Компонент link — это предустановленный компонент, то есть уже существующий в каком-то пакете. В нашем случае в пакете Gatsby. Это значит, что можно импортировать и использовать компонент, вместо того, чтобы писать его самому вручную.

Компонент link позволяет добавлять ссылки на другие страницы твоего сайта. Это похоже на тег <a> в html, но со своими преимуществами. У этого компонента есть prop to, что соответсвует атрибуту href. Значение задаёт адрес, куда ты хочешь сделать ссылку.

Компонент link можно использовать для перехода между страницами сайта Gatsby. Для внешних ссылок он не подходит.

Добавим ссылки на наши страницы.

  1. На главной странице импортируем компонент link из пакета Gatsby и добавим ссылку на страницу About.

  2. На странице About импортируем компонент link из пакета Gatsby и добавим ссылку на главную страницу.

  3. Проверим каждую страницу и увидим, что на них появились ссылки.

[[ Использование компонента ]]

Create a reusable layout component

Создание повторяющихся компонентов.

Если посмотреть на конечный итог тестового блога Gatsby, то можно заметить, что многие части на страницах повторяются: заголовок сайта и навигационное меню.

Конечно, можно прописать их вручную. Но что если их надо будет поменять? А вдруг страниц не две, а десяток или даже сотня? Что тогда делать? Вручную запаришься переписывать.

Вместо этого проще сделать один шаблон Layout, который будет повторяться на разных страницах. Поэтому, когда надо будет сделать изменения, ты меняешь Layout и он меняется везде.

Создадим первый Layout с использованием React prop children.

Компоненты с дочерними элементами.

В дополнение к тем

Notes mentioning this note


Here are all the notes in this garden, along with their links, visualized as a graph.

0. Set Up Your Development Environment1. Create and Deploy Your First Gatsby Site2. Use and Style React Components202204232218A brief history & ethos of the digital gardenA quick intro to ReactAccount CreationAppleAttlassianBackground KnowledgeBuild your site with Gatsby CloudCmsCSSConfluenceCreate a page componentDaily Notes PagesDaily NotesForestDigital Garden на Github Pages и JekyllDigital gardenENCODEGatsby CLIGatsby CloudGatsby theme gardenGatsby использует GitGatsby создан с Node.jsGatsby — это платформа для создания сайтовGatsby the quick startGatsbyGitGithub desktopGithub pagesGitHubGraphQLHTMLHomebrewHow i reward myself with good habits – the kozukai...How to grow your own digital garden with maggie...Installation GuideJavaScriptJiraLYTLinking Your Thinking HomepageLinking Your ThinkingMDXMac installerMacportsMindstoneMotifMy blog is a digital garden, not a blogNode.jsNota скрывает ссылку даже в маркдаунNotaNotionObsidian publishObsidian01-05-202221-04-202222-04-202224-04-202225-04-202226-04-202227-04-202228-04-202229-04-202230-04-2022Daily NotesQuartzReactSet up a GitHub repo for your siteTildaTrelloTutorial learn how gatsby works 2Tutorial: Learn how Gatsby worksTutorial learn how gatsby works2Visual Studio CodeWordpressXcodeiA WriternpmWrite Notes Name In EnglishАтомарные заметки“Библиография”БлогБуллет джорналВ работу с головой, кэл ньюпортВ туториале Gatsby хорошо объяснили, что такое...Вечнозелёные заметки энди матушакаВпечатления от Радость познания ФейнманаВы, конечно, шутите, мистер фейнман, ричард...Геймификация в приложениях для продуктивности...Генератор статических сайтовДля каждой абстрактной идеи следует придумать...Добавить функцию создания файла в той же папкеЗаметки энди матушака атомарныЗаметки энди матушака концептуально ОриентированыЗаметки энди матушака не совсем цифровой садЗаметки энди матушака отличаются от замёток в...Заметки по книге по методу адлераЗаметкиЗапуск сайта Gatsby на компьютереЗарегистрироваться на Gatsby CloudЗарегистрироваться на GitHubЗачем читать книгиЗачем читатьЗнание — результат на стыке информации и пониманияИзбранные файлы в notaИзменить главную страницу цифрового садаИзменям контент главной страницыИнструкция для командной строки на macИнформация сама по себе бесполезнаИнформация — это ещё не знанияКак Gatsby использует ReactКак вести умные заметкиКак получить доступ к бета-версии MotifКак привести дела и жизнь в порядокКак работают сайты на GatsbyКак установить Git с помощью HomebrewКак установить HomebrewКак читать книги мортимер адлерКнига — основной источник знанийКомандная строкаКомпонент ReactКопировать Quartz в свой репозиторийКэл ньюпортМногооконный режим в notaМортимер адлерМэгги эпплтонНа большинстве компьютеров Mac Git уже установленНавык обретается через знаниеНадо понимать, как учитьсяНаилучший результат достигается постоянными...Объясняй своими словамиОдна и та же книга может использоваться для разных...Опубликовать репозиторий на GitHub PagesОшибка Gatsby из-за установки NodeПеренести код с компьютера на GitHubПлагины gatsbyПоменять шаблон quartzПривязать свой домен к GitHub PagesПриложения для заметокПродвижение блога в телеграмеПродвижение блогаПроекты в буллет джорналПубликацию заметок в блоги и цифровые сады в notaПубликация ссылок в сообществах со временем...Публичные заметкиПубличные заметкиРадость познания, Ричард ФейнманРазница между информацией и знаниемРайан ХолидейРазница между таймбоксингом и таймблокингомРешения для digital gardenРичард фейнманСамообразованиеСамосовершенствованиеСервер разработкиСоединить аккаунт Gatsby Cloud с GitHubСоздание компонента страницы ReactСоздание нового сайта GatsbyСоздание цифрового сада с Quartz на GitHubСоздать репозиторий на GitHubСоздаём новую страницу aboutСписок источников о digital gardenСравнение пережитого или переживаемого с...Статьи из интернетаТаймблокингТаймбоксингТермин вечнозелёные заметки придумал не энди...ТерминалУ nota очень круто организована работа с вкладкамиУ nota очень много крутых фишекУлучшить качество своей жизниУмные заметкиУстановка Gatsby CLIУстановка git на macУстановка Gatsby и Node.js на MacУстановка NodeУстановка инструментов командной строки XcodeФайлы в notaФорма важнее содержанияФормопоклонникЦели ведения умных заметокЦеттелькастенЧасто под образованием понимают обладание...ЧерновикЧитатель превращается в потребителя информацииЧтение для развлеченияЧтениеЧто бы я хотел добавить в notaЭнди матушак