Апісанне UI
React — гэта JavaScript бібліятэка для рэндэрынгу інтэрфейсу карыстальніка (UI). UI пабудаваны з маленькіх адзінак, такіх як кнопкі, тэксты, відарысы. React дазваляе камбінаваць іх у прыдатныя да паўторнага выкарыстання кампаненты, якія можна ўкладаць адзін у аднаго. Ад вэб-сайтаў да мабільных праграм — усё на экране можа быць разбітае на кампаненты. У гэтай главе вы даведаецеся як ствараць і змяняць кампаненты React, а таксама як паказваць іх па-рознаму ў залежнасці ад умоў.
In this chapter
- Як напісаць свой першы кампанент React
- Калі і як змяшчаць некалькі кампанентаў у адзін файл
- Як дадаць разметку ў JavaScript з дапамогай JSX
- Як выкарыстоўваць магчымасці JavaScript з дапамогай фігурных дужак у разметцы JSX
- Як змяняць канфігурацыю кампанента з дапамогай пропсаў
- Як рэндэрыць кампаненты ў залежнасці ад умоў
- Як рэндэрыць некалькі кампанентаў за раз
- Як пазбягаць памылак, захоўваючы кампанент чыстымі
Ваш першы кампанент
Праграмы React пабудаваны з ізаляваных кавалкаў UI, якія называюцца кампанентамі. Кампанент React — гэта функцыя JavaScript, у якую вы можаце дадаць разметку. Кампанент можа быць маленькім, як кнопка, або вялікім, як цэлая старонка. Вось, напрыклад, кампанент Gallery
, які рэндэрыць тры кампаненты Profile
:
Ready to learn this topic?
Звярніцеся да старонкі «Ваш першы кампанент» каб даведацца як аб’яўляць і выкарыстоўваць кампаненты React.
Read MoreІмпарт і экспарт кампанентаў
Вы можаце аб’явіць некалькі кампанентаў у адным файле, але ў вялікіх файлах можа быць складана арыентавацца. Каб вырашыць гэтую праблему, вы можаце экспартаваць кампанент ва ўласны файл, а потым імпартаваць яго з іншага файла:
Ready to learn this topic?
Звярніцеся да старонкі «Імпарт і экспарт кампанентаў» каб даведацца як падзяляць кампаненты па ўласных файлах.
Read MoreНапісанне разметкі з дапамогай JSX
Кожны кампанент React — функцыя JavaScript, якая можа змяшчаць разметку, якую React будзе рэндэрыць у браўзеры. Кампаненты React выкарыстоўваюць пашырэнне сінтаксісу, якое называецца JSX каб апісваць разметку. Разметка JSX вельмі падобная да HTML, але яна больш строгая і можа паказваць даныя дынамічна.
Не любая HTML разметка будзе працаваць, калі ўставіць яе ў кампанент React:
Калі ў вас ёсць існуючая разметка ў HTML, вы можаце скарыстацца канвертарам:
Ready to learn this topic?
Звярніцеся да старонкі «Напісанне разметкі з дапамогай JSX» каб даведацца як пісаць правільную JSX-разметку.
Read MoreJavaScript у JSX з дапамогай фігурных дужак
JSX дазваляе пісаць разметку, падобную да HTML унутры файлаў JavaScript, тым самым захоўваючы логіку і змесціва побач. Часам можа спатрэбіцца дадаць крыху логікі JavaScript або звярнуцца да дынамічных даных знутры разметкі. У падобнай сітуацыі можна выкарыстоўваць фігурныя дужкі ўнутры JSX каб «адчыніць акенца» ў JavaScript:
Ready to learn this topic?
Звярніцеся да старонкі «JavaScript у JSX з дапамогай фігурных дужак» каб даведацца як выкарыстоўваць даныя з JavaScript у JSX.
Read MoreПерадача пропсаў у кампанент
Для камунікацыі між сабой кампаненты React выкарыстоўваць пропсы. Кожны бацькоўскі кампанент можа перадаваць некаторую інфармацыю даччыным, задаючы ім пропсы. Пропсы падобныя на атрыбуты ў HTML, але ў іх вы можаце перадаваць любыя JavaScript значэнні, уключаючы аб’екты, масівы, функцыі і нават JSX!
Ready to learn this topic?
Звярніцеся да старонкі «Перадача пропсаў у кампанент» каб даведацца як перадаваць і чытаць пропсы.
Read MoreУмоўны рэндэрынг
Часта можа ўзнікаць патрэба паказваць у кампанентах розныя рэчы ў залежнасці ад пэўных умоў. У React вы можаце пісаць умовы для рэндэрынгу JSX з дапамогай JavaScript, выкарыстоўваючы ўмоўныя аператары if
, &&
або ? :
.
У прыкладзе ніжэй JavaScript аператар &&
выкарыстоўваецца, каб паказваць птушку ў залежнасці ад умовы:
Ready to learn this topic?
Звярніцеся да старонкі «Умоўны рэндэрынг» каб даведацца розніцу паміж рознымі спосабамі ўмоўнага рэндэрынгу.
Read MoreРэндэрынг спісаў
Вам можа спатрэбіцца паказваць некалькі аднолькавых кампанентаў, базуючыся на пэўных даных. Вы можаце выкарыстоўваць filter()
і map()
з JavaScript у React каб фільтраваць і ператвараць вашыя даныя з масіваў у кампаненты.
Кожны элемент масіву абавязкова мае мець унікальны key
(ключ). Найчасцей вы можаце выкарыстоўваць ID з базы даных у якасці key
. Ключы дазваляюць React адсочваць месцазнаходжанне кожнага элемента, нават калі спіс змяняецца.
Ready to learn this topic?
Звярніцеся да старонкі «Рэндэрынг спісаў» каб даведацца як рэндэрыць спісы кампанентаў і як выбіраць ключ.
Read MoreЗахоўванне кампанентаў чыстымі
Некаторыя JavaScript функцыі называюцца чыстымі. Чыстыя функцыі:
- Займаюцца сваёй справай. Яны не змяняюць аб’екты або пераменныя, якія існавалі да выкліку функцыі.
- Вяртаюць прадказальны вынік. Пры аднолькавых уваходных даных чыстая функцыя заўсёды вяртае аднолькавы вынік.
Калі вы будзеце строга адпавядаць дадзеным прынцыпам, вы зможаце пазбегнуць шэрагу незразумелых хіб і непрадказальных паводзін па меры росту вашай кодавай базы. Вось прыклад кампанента, які не з’яўляецца чыстым:
Вы можаце зрабіць гэты кампаненты чыстым, перадаўшы пропс замест змянення знешняй пераменнай:
Ready to learn this topic?
Азнаёмцеся са старонкай «Захоўванне кампанентаў чыстымі» каб даведацца як пісаць кампаненты ў выглядзе чыстых прадказальных функцый.
Read MoreНаступныя крокі
Пачніце са старонкі «Ваш першы кампанент» каб пачаць чытанне главы старонка за старонкай!
Калі дадзеная тэма вам ужо знаёмая, прапануем прачытаць пра Дадаванне інтэрактыўнасці.