Як стварыць прыкладанне прыборнай панэлі з дапамогай React

Аўтар: Randy Alexander
Дата Стварэння: 25 Красавік 2021
Дата Абнаўлення: 16 Травень 2024
Anonim
Что ДЕЙСТВИТЕЛЬНО происходит, когда вы принимаете лекарства?
Відэа: Что ДЕЙСТВИТЕЛЬНО происходит, когда вы принимаете лекарства?

Задаволены

У гэтым уроку мы разгледзім, як стварыць прыкладанне з дапамогай React - бібліятэкі JavaScript для стварэння карыстацкіх інтэрфейсаў. Гэты інструмент вэб-дызайну асабліва карысны пры стварэнні кампанентаў, прапаноўваючы істотныя перавагі перад чымсьці накшталт jQuery.

Магчымасць ствараць аўтаномныя, шматразовыя кампаненты азначае, што вы можаце захаваць код менш і больш арганізавана. Калі кампаненты наладжаны дастаткова якасна, іх можна ўнесці там, дзе гэта неабходна, без дадатковай налады.

У гэтым уроку мы зробім прыкладанне прыборнай панэлі, якое сочыць за важнымі паказчыкамі падтрымкі. Экран падзелены на сетку, якую можна наладзіць для адлюстравання розных візуальных элементаў у залежнасці ад дадзеных, якія яму трэба паказаць.

Хочаце стварыць сайт, а не прыкладанне? Вам патрэбны нашы даведнікі па лепшым канструктарам сайтаў і сэрвісе хостынгу.


  • 19 бліскучых убудоў jQuery

Зрабіўшы агульны кампанент віджэта, мы можам здрабніць і змяніць дысплей, не закранаючы ні адзін з асноўных кодаў. Упакоўка іх у кампанент кантэйнера дазваляе кантраляваць крыніцу дадзеных асобна ад іх адлюстравання.

Мы будзем выкарыстоўваць CSS Grid для адлюстравання змесціва ў пэўных блоках. Браўзэры, якія яго не падтрымліваюць, будуць адлюстроўвацца ў адным слупку, як пры выкарыстанні меншага экрана.

Загрузіце файлы гэтага падручніка тут.

01. Загрузіце залежнасці

Пасля атрымання файлаў праекта (і захавання іх у воблачным сховішчы) нам трэба зняць усе неабходныя пакеты, неабходныя для праекта. Сюды ўваходзяць файлы з "create-response-app", які займаецца працэсам зборкі для нас.

Нам таксама трэба запусціць два серверы - адзін, які забяспечвае гарачую перазагрузку старонкі, а другі - некалькі падробленых дадзеных для тэставання.

Увядзіце наступнае ў камандным радку, знаходзячыся ў каталогу праекта:


/ * у адным акне * /> ўстаноўка пражы> пачатак пражы / * у іншым акне * /> падача пражы

02. Дадайце першы віджэт

Для пачатку мы зробім просты кампанент на старонцы. З наладжанай праграмай Babel мы можам пісаць кампаненты, выкарыстоўваючы класы ES2015. Усё, што нам трэба зрабіць, гэта імпартаваць іх, калі нам трэба, а Babel з Webpack зробіць усё астатняе.

Адчыняць /src/components/App.js і дадайце імпарт у верх старонкі. Затым унутры функцыі адлюстравання змесціце кампанент у кантэйнер div>.

імпартаваць віджэт з '../components/Widget'; […] Div className = "App"> Віджэт /> / div>

03. Стыль скрынкі віджэтаў


У гэтым праекце Webpack створаны для апрацоўкі імпарту CSS. Гэта азначае, што мы можам імпартаваць CSS-файлы, як гэта было зроблена з JavaScript на папярэднім этапе, што дазваляе ствараць асобныя файлы для кожнага кампанента. Дадайце наступны імпарт уверх Widget.js. Гэта будзе звязана з "Віджэтам" className і будзе ахопліваць стылі гэтага кампанента.

імпартаваць ’../styles/Widget.css’;

04. Дадайце загаловак і змест

Кожнаму віджэту спатрэбіцца кароткае апісанне дадзеных, якія ён паказвае. Каб рэчы былі наладжвальнымі, мы перададзім гэта як уласцівасць - альбо «апору» - кампаненту, калі мы яго выкарыстоўваем.

Што тычыцца зместу, React пастаўляе спецыяльны "дзіцячы рэквізіт", які будзе ўтрымліваць змесціва, якое ўводзіцца паміж тэгамі адкрыцця і закрыцця кампанента.


Заменіце запаўняльнік p> у функцыі візуалізацыі з наступным. Кампанент Загрузка ўвойдзе ў дзеянне пазней.

div className = "header"> h2> {this.props.heading} / h2> {this.props.loading? Загрузка />: ""} / div> div className = "content"> {this.props.children} / div>

05. Няхай віджэт ахоплівае сетку

У дадатак да табліц стыляў, якія мы імпартуем, мы таксама можам ствараць стылі React дынамічна на аснове прапушчаных рэквізітаў.

Каб ахапіць слупкі і радкі з дапамогай CSS Grid, выкарыстоўвайце ўласцівасці grid-column і grid-row. Мы можам прайсці праз рэквізіты "colspan" і "rowpan", каб змяніць гэта для кожнага кампанента аналагічна таму, як ячэйкі табліц працуюць у HTML.

Прымяніце стылі ў канструктары віджэтаў і звяжыце іх з кантэйнерам div>.


if (props.colspan! == 1) {this.spanStyles.gridColumn = `span $ {props.colspan}`; } if (props.rowspan! == 1) {this.spanStyles.gridRow = `span $ {props.rowspan}`; } […] Div style = {this.spanStyles} className = "Віджэт">

06. Пастаўка рэквізіту па змаўчанні

Зараз наш віджэт пусты, бо мы пакуль не пастаўляем рэквізіт. У гэтых выпадках мы можам паставіць рэквізіт па змаўчанні для выкарыстання.

Калі не сказана іншае, CSS Grids па змаўчанні займае найменшую адзінку, якую толькі можа, а гэта ў гэтым выпадку квадрат 1х1. Перад тым, як экспартаваць віджэт, пастаўце некалькі рэквізітаў па змаўчанні для гэтага.

Widget.defaultProps = {загаловак: "Безназоўны віджэт", colspan: 1, інтэрвал радкоў: 1}

07. Прымяненне канкрэтнага рэквізіту

Кампаненты могуць падказваць, які тып значэнняў трэба адпраўляць у якасці рэквізіту. Пры распрацоўцы прыкладання любы няправільна перададзены рэквізіт будзе адлюстроўвацца ў кансолі як папярэджанне, якое дазваляе пазбегнуць памылак далей.


Толькі пад рэквізітам па змаўчанні вызначце, які рэквізіт трэба альбо трэба перадаць, і які тып яны павінны быць.


Widget.propTypes = {загаловак: React.PropTypes.string, colspan: React.PropTypes.number, шэраг радкоў: React.PropTypes.number, дзеці: React.PropTypes.element.isRequired}

08. Дадайце рэквізіт у дадатак

Вызначыўшы рэквізіт "дзяцей" па меры неабходнасці, вы можаце заўважыць, што браўзэр скардзіцца, што ён у цяперашні час не вызначаны. Хоць гэта не разаб'е прыкладанне, яно будзе працягваць памыляць нас, пакуль не будзе адсартавана.

Вярніцеся да App.js і дадайце загаловак у віджэт, які мы стварылі раней. Замест таго, каб прымусіць тэг самазачыняцца, адкрыйце яго і дадайце змест запаўняльніка, каб паказаць, што ён працуе.

Загаловак віджэта = "Усяго адкрыты білет"> p> Гэта некаторы змест / p> / Widget>

09. Адлюстраванне некаторых дадзеных

Кампанент NumberDisplay працуе падобна на толькі што створаны віджэт - ён адлюстроўвае нейкі тэкст выключна на рэквізіце, які мы ў яго перадаем. Мы можам кінуць яго туды, куды нам трэба, і мець пастаяннае адлюстраванне лікавых дадзеных.


Імпартуйце кампанент NumberDisplay уверсе і выкарыстоўвайце яго для замены змесціва запаўняльніка, якое вы толькі што дадалі ў віджэт.

імпартаваць NumberDisplay з '../components/NumberDisplay'; […] NumberDisplay max = {9} значэнне = {5} />

10. Пераўтварыць у NumberWidget

На дадзены момант існуе даволі шмат кода, які выкарыстоўваецца, каб паказаць тое, што не зменіцца ў розных віджэтах. Мы можам зрабіць спецыяльны кампанент, каб уключыць усё гэта. Такім чынам, нам трэба толькі імпартаваць NumberWidget.

Заменіце імпарт віджэтаў і NumberDisplay уверсе App.js на NumberWidget. Пераканайцеся ў тым, каб таксама замяніць іх у метадзе візуалізацыі.

імпартаваць NumberWidget з '../components/NumberWidget'; […] Загаловак NumberWidget = "Усяго адкрыты білет" max = {9} значэнне = {5} />

Наступная старонка: Запоўніце прыкладанне прыборнай панэлі ў React

Набірае Папулярнасць
Творы Бэнксі перароблены ў Lego
Далей

Творы Бэнксі перароблены ў Lego

Калі вы думаеце пра неверагодныя прыклады вулічнага мастацтва, адно з першых імёнаў, якое з'явіцца, - гэта, напэўна, брытанскі мастак Бэнксі. Як адзін з самых знакавых стваральнікаў вулічнага маст...
Cachemonet: што гэта такое, і чаму вы павінны клапаціцца
Далей

Cachemonet: што гэта такое, і чаму вы павінны клапаціцца

Калі вы яшчэ не бачылі Cachemonet, пабяжыце і паглядзіце яго некаторы час. Мы ўсё яшчэ будзем тут, калі вы вернецеся. Добра, зрабілі? Выдатна! Гэта бясконца забаўляльнае спалучэнне аніміраваных GIF-фа...
Скот Джэл на чуйным сайце "Бостан Глобус"
Далей

Скот Джэл на чуйным сайце "Бостан Глобус"

Гэты артыкул першапачаткова з'явіўся ў лістападаўскім нумары (221) часопіса .net - самага прадаванага ў свеце часопіса для вэб-дызайнераў і распрацоўшчыкаў. Брус Лоўсан: Хто працаваў над гэтым над...