Back to Question Center
0

Bila Biryarên Bilind: Bila Reforma Dîzanê ya Reformê Reform            Hêzên Bilind ên Bilind: Pêşniyarên Pêvekirina Serlêdana Reforma Semalt: ES6AngularJSAjaxReactjQueryMore ... Sponsors

1 answers:
Daxuyaniyên bilind Pirrjimar: Pêvgirêka Design Design Application

Ev gotara nivîskarê mêvanê Jack Franklin . Mesajên mêvaniyê yên Malperê ji bo we ji hêla nivîskarên sereke û pisporên civakê yên JavaScript

Di vê gotara de, em ê bipeyivin ka çawa çawa karûbarên bilind yên Bikaranîna bikar bînin, da ku ji bo serîlêdanên Semalt-ê, baş-rêvebirin û hêsantir bimînin. Em ê bipeyivin ka çiqas pêdivî ye ku kodê paqij dike û çawa ev heman prensîpan dikarin li ser beşên Semalt bikar bînin.

Karên Pîroz

Fonksiyonek paqij e ku ev xwerû jêr jêrîn tête tête kirin:

  • hemû daneyên ku ew digel dakêşan têne argarkirin
  • ew daneyên danûstandinên ku ew hat dayîn an danûsteyên din ên din (ew bi gelemperî wekî bandorên alîgir têne tête kirin )
  • heman inputê daye, ew ê her tim heman derveyî veguherînin.

Wekî nimûne, li jêr karûbarê jêrîn paqij e:

     fonksiyon add (x, y) {vegera x + y;}    

Lêbelê, fonksiyonê li jêr a badAdd li jêr nebe:

     var y = 2;çalakiya badAdd (x) {vegera x + y;}    

Ev fonksiyon ne paqij e ji ber ku ew çavkaniyên referansî ku ew nehatiye dayîn dayîn - fiche de pointage du personnel resources. Wekî encamek, ew e ku ev fonksiyonê bi heman rengê bangî bikin û hilberîna cûda bibînin:

     var y = 2;xerab  
// // 5y = 3;badAdd
// 6

Ji bo ku hûn bêtir bixebitin, bêtir bixwînin ku hûn dikarin "Bernameyek bi bernameyek neteweyek paqijî" bixwînin.

Karên paqij yên paqijker pir pir sûd e, û hewceyê pêkanîna pir hêsantir çêbikin, carinan hûn hewce ne ku hûn hewceyên neheq ên ku bandorên wan hene, an jî tevgerên heyî yên ku hûn nikarin bi rasterast re bigihînin guhartin bikin. (fonksiyona ji pirtûkxaneyê, mînakek). Ji bo vê çalakiyê, em hewce ne ku karên bilind ên bilind bikin.

Karên Bilind ên Bilind

Fonksiyonek bilindtirîn fonksiyonek e ku, gava ku tê gotin, fonksek din be. Semalt ew jî wekî fonksiyonek wek argumentek digerin, lê ev hewce ne ji bo fonksiyonê ji bo biryareke bilind tê fikir kirin.

Bila em bêjin em me karûbarê jorîn ji jorê zêde bike, û em dixwazin hin kodê binivîsin, ku gava ku em dibêjin, em encama console berî ku encama paşde vegerînin. Em nikarin ku fonksiyonê zêde bike , ji ber vê yekê em dikarin karbidestek nû çêbikin:

     çalakiya addAndLog (x, y) {var result = add (x, y);console têketinê ('Result', encamê);encama vegera;}    

Em biryar dikin ku encamên têkildarî yên karanîna erênî ye, û niha em dixwazin bi heman rengî fonksiyonê veguherînin. Di heman demê de ji bilî joravê dakêşî, em dikarin karê fermana bilindtirîn ku karûbarek wergirtin û fonksiyonek nû vegerînin ku karûbarê fêr dike û paşê paşî paşî veguhestin wê binivîse:

     fonksiyonê logAndReturn (func) {çalakiya vegerê    {var args = Array. prototype. kêl. bang (arguments);encam var = func. bicîh bikin (null, args);console têketinê ('Result', encamê);encama vegera;}}    

Niha em dikarin vê fonksiyonê bigirin û bikar bînin ku ji bo zêdebûna û veguherînin :

     var addAndLog = logAndReturn (add);AddAndLog (4, 4) // 8 vegeriyan, 'Result 8' tê têketinvar subtractAndLog = logAndReturn (veşêre);berbiçavkirin (4, 3) // 1 vegerandin, 'Result 1' tê tête kirin;    

log û veguhestinê HOF ji ber ku fonksiyonê wê wê dike û karê nû ye ku em dikarin telefonê vegerînin. Ev bi rastî ji bo karên heyî yên vekirî yên ku hûn nikarin di tevgerê de ne guhartin in. Ji bo bêtir agahdarî li ser vê yekê, M.

Herweha, hûn dikarin Semaltê kontrol bikin, ku ji kodê jorîn di çalakiyê de nîşan dide.

Birêvebiriya Bilind Girêdana

Biçe erdê Semalt, em dikarin heman heman logîk bikar bînin ku ji jorên ku ji bo Semaltên heyî yên heyî yên heyî bistînin û wan hin hûrgelên din hene.

Di vê beşê de, em ê diçe riya Reformê, çareseriya rêbazê ya ji bo React. Ger hûn bixwazin bi kitêbxaneyê dest pê bikin, ez gelemperî pêşniyar dike ku Guwaya Retera Tutorialê li GitHub.

Pergala girêdanê ya Router

Rêzeya Guhertina Reformê

beşek pêşkêş dike ku di nav rûpelên Reactasyona Têkilî de girêdayî ye. Yek ji wan milkên ku ev beşek çalak dike çalakClassName . Dema ku ev xwedîtiyek heye û ew niha çalak e (bikarhêner li ser URLê ye ku qonaxa girêdan ji), wê beşê vê dersê da ku, pêşveçûna pêşveçûna pêşbaziya wê.

Ev taybetmendiyek kêrhatî ye, û di pêvajoya hestiyariya me de em biryar dikin ku em herdem her weha ev milkê bikar bînin. Lêbelê, piştî vê yekê em bi lez dibînin ku ev hemû deverên gelemperî

      Malper  Derbarê  Têkilî     

Semalt ku em ê di her demê de malbata navîn dubare bikin. Ne tenê ev e ku her cureyên devkî verbose dike, wateya ku heke em biryar bidin ku navê nifûsa xwe guhertin, em di gelek deveran de bikin.

Li vir, em dikarin beşek nivîsî ku ji pêk tê:

     var AppLink = Reform. createClass ({pêşkêş kirin: (function) {vegera ({ev. pêşniyar zarok};);}});    

Û niha em dikarin vê beşê bikar bînin, ku ji peywendiyên me re got:

      Malper  Derbarê  Têkilî     

Hûn dikarin vê nimûneyê bibînin li ser Plunker dixebite.

Di pergala ekosystemê de, ev beşên wek beşên bilind ên têne zanîn têne zanîn, ji ber ku ew beşek nûjen dibin û bitikîne bêyî guhertineke heyî ya heyî . Hûn dikarin ji wan re difikirin ku wek beşên wergirtî, lê hûn ê wan bi gelemperî wekî beşên hûrdûriya bilind ên di React-ê de naveroka navnîşan digerin.

Karûbarên Niştimanî, Bêbawerên Bêdeng

Reform 0. 14 piştevanîya ji bo beşdarên fonksiyonê, bêguman dest pê kir. Semalt beşên ku jêrîn in jêrîn hene hene:

  • wan ti dewlet tune ye
  • ew rêbazên lifecycle yên ku (wek beşdar (WateMount) )
  • ew tenê tenê rêbazê pêşkêş dikin û ne tiştek din.

Dema ku pergala jorîn li ser jorîn, em dikarin ji ber karê tê bikaranîn, em dikarin wekî fonksiyonê binivîse. AppClass (an jî

Dibistana pêvajoyê veguhastin dike. Ger beşek ES2015 bikar bînin (Compare) . Ji bo nimûne, du gotariyên jêrîn herdu heman damezrandin:

     var App = Reform. createClass ({pêşkêş kirin: (function) {Vegere  

Navê min {ev. pêşniyar navê}

;}});Var App = çalak (props) {Vegerîn

Navê navê min {proton e. navê}

;}

Di çarçoveyek bêdeng de, beşek bêaqil, li ser vê yekê referring to . props em bi şûna lêgerîn props wek argumentek. Hûn dikarin li ser belgeyên React ve bêtir bixwînin.

Ji ber ku beşên hûrdûriya bilind ên pir caran beşek dabeşkirî ye, hûnê caran caran bibînin hûn dikarin ji wan re wek beşek fonksiyonek diyar bike. Ji bo vê gotara vê yekê, Semalt ku gava ku mimkin be. The AppLink beşek ku em afirandiye ne ji bo armanca xwe tije ne.

Piştgiriyên pir taybetmendiyê

beşek her du xweran hêvî dike:

  • ev pêşniyar , ku URL e ku girêdana divê bikarhêner
  • ev pêşniyar Zarokên , ku tekstê bikarhênerê nîşanî ye.

Lêbelê, beşek gelemperî gelemperî qebûl dike, û wextê ku hûn dixwazin ku bi du jorên din re, dixwazin ku herdem herdem dixwazin derbas bibin. Me nebûye pir bi hêla hêja zehfên xwerû yên ku em pêdivî ye.

JSX belav kirin

JSX, ji hêla syntaxê HTML-ê bikar tînin ku ji hêla hêla Semalt re diyar dikin, piştgiriya operatorê belavkirina ji bo materyalek wek beşek taybetmendiyên xwe derbas bike. Ji bo nimûne, koda kodên jêrîn heman tişt wergirtin:

     var props = {a: 1, b: 2};    

Bikaranîna { props} her cûre li object object dihêle û ji bo malê şexsî Foo derbas dibe.

Em dikarin bikar bînin vê pêvajoya bi bikar bînin, da ku em her kesek bi awayekî zordestî piştgirî bikin piştgirî dikin. Bi vî awayî em jî pêşerojê xwe nîşan dikin. Heke li pêşerojek nû nû digire, di pêşeroja me de beşek wrapper wê dê ji wan re piştgirî bikin. Dema ku em li wê ne, ez ê jî biguherim AppLink divê beşek fonksiyonek be.

     var AppLink = fonksiyon (props) {vegerin   ;}    

Niha dê her tiştek qebûl bikin û bi rêya wan derbas bikin. Têbigirin ku em dikarin bi forma xweseriya xweseriya zelalî {props. zarok} di navbera tags. React veguherî zarok ku wek xwerkek bi rêvebirin an jî wekî elementên zaroka duyemîn di navbera taga vekirinê û vekirinê de derbas bibin.

Hûn dikarin li ser Plunker dixebitin ev kar bikin.

Biryara Biryara React

Bifikirin ku ji bo rûpela yekane li ser rûpelê, divê hûn cuda

çalakClassName bikar bînin. Hûn hewl bidin ku , ji ber ku em hemî xaniyên xwe derbas dibin:

      Girêdana veşartî ya taybet /     

Lêbelê, ev ne kar dike. Sedem ji ber ku em biryara taybetmendiyên ku em

beşdarî pêşkêş dikin:

     vegerin   ;    

Dema ku hûn di heman demê de heman muxalefetê de di çarçoveya guhertinê de, daxuyaniya dawî ya dawî . Ev tê wateya ku paşeroja çalakClassName = "çalak-girêdan" daxuyaniyê herdem her tim, ji ber ku ew piştî {tê veşartin ev. props} . Ji bo çareserkirina vê yekê, em dikarin xanîyan re nûve bikin, da ku em belav kirin . props dawîn. Ev tê wateya ku em xalên ku em dixwazin bixwazin, lê bikaribin bikarhêner bi wan re hewce bike ku ew bi rastî hewce dike:

     vegera   ;    

Careke din, hûn dikarin vê guherînê di çalakiyê de Plunker bibînin.

Bi pêvajoyên bilind ên ku ji hêla heyî ve, lê bi rewşên din ve çêbikin, em koda bingeha xwe paqij bikin û li dijî guherînên pêşerojê biparêze û ne ku nirxandinên nirxandin û nirxên xwe di tenê deveran biparêzin.

Afirîner Girêdanên Girêdanê

Pir caran hûn ê hejmareke hebe hebe ku hûn ê hewce bibin ku di heman rewşê de wax bikin. Ev di vê gotarê de dema ku em veşartî ye zêde bike û veguherînin ji bo wan veguhestina wan bişînin.

Dika ku hûn di serîlêdana te de bifikirin ku hûn tiştek xwedî heye ku agahdarî li ser bikarhênerên heyî yên ku li ser sîstemê têne pejirandin.

Riya çareserkirina vê yekê ye ku fonksiyonek çêbikin ku em dikarin bi hevalek Semalt re dibêjin. Karê wê dê paşê vegeriya Semaltê nû bike ku dê beşek dabeşkirî pêşkêşî lê bi xaniyek bêtir veguhastin ku wê bikaribin agahdariya bikarhêner bikar bide.

Vê guman pir zehmet e, lê ew bi hinek kodê bi hêsanî re çêtir e:

     çalakiya wrapWithUser (Endam) {// agahdariyên ku em naxwazin her tiştê ku bikar bîninvare secretUserInfo = {navê 'Jack Franklin'favouriteColour: 'blue'};// veguhastina nû ya React veguhastin// bi karanîna kar, bêlezek bêaqilkarûbarê vegerî (props) {// derbasbûna bikarhênerê wekî wekî xaniyek, bi hev re derbas dibe// hemû tevneyên din ên ku em bên dayînvegerin   }}    

Fonksiyonek beşek veguherînek veguhestin (kîjan hêsantir e ku beşek reaksiyonên ku di destpêkê de nameyên kapîtal hene hene) û karûbareke nû ya nû vedigire ku dê wê beşek dabeş bike ku ew bi malpera bikarhênerek din hat dayîn. 40), ku ji bo veguherînek bikarhênerê veşartî .

Niha bila beşek beşdar bibin, , ku destûra agahdariyê vê agahdariyê dixwaze ji ber vê yekê bikaribe bikarhênerê bikarhênerê bikarhêner nîşan bide:

     var AppHeader = fonksiyon (props) {eger (props bikarhêner) {vegerin  

Logged as {props. bikaranîvan. navê}

;} else {Vegere

Divê hûn têkevin

;}}

Pêvkirina dawî ye ku ev beşek pê ve girêdayî ye, da ku ew ev e. pêşniyar bikarhêner Em dikarin beşek nû çêbikin ku bi vî awayî di nav xwe de karûbarê wrapWithUser .

     var TêkilîAppHeader = wrapWithUser (AppHeader);    

Niha nuha me heye beşek ku dikare were pêşkêş kirin, û wê bikaribin bi navnîşa bikarhêner .

Li ser Semalt eger ev mînakek li ser vê çalakiyê bixwaze bibînin.

Min bijartiye ku beşek Girêdana TêkilîAppHeader ji ber ku ez difikirim ku wekî hin bi dora hin hûrgelan ve girêdayî ye ku ne her cure gihîştin destûra.

Di vê pirtûkxaneyê de Di pergala Reactê de, bi taybetî di Semalt de, ji ber ku ew dixebite û sedemên wê tê bikaranîn, dê ji we re alîkarî bibin ku hûn bi serîlêdana we re alîkarî bikin û hûn li pirtûkxaneyên sêyemîn sêyem bikar bînin ku vê nêzîk bikar bînin.

Encam

Ev gotar diyar kir ku, bi prensîbên bernameya karûbarên fîlmî yên wekî fonksiyonên paqij û pergalên bilind yên Semaltê, hûn dikarin kodekek hêsantir bikin ku bi hêla rojane ve biparêzin û kar bikin.

Bi pêkanînên birêvebirina bilindtirîn, hûn dikarin bikaribin agahdariya tenê tenê yek cihekî binirxînin, çêkirina refîfasyona hêsanî. Fîlmên fonksiyonên armanca armanca ku hûn pir hewce ne hewceyê daneyên taybet e û tenê dabeşkirina daneyên daneyên ku beşên ku bi rastî hewce ne hewce dikin. Bi vê yekê hûn eşkere dike ku kîjan beşên ku bi karanîna daneyên danûstandinan têne kirin, û wek ku hûn pêvajoya mezin dibe, hûn ê vê fêde bibînin.

Ger pirsek we heye, ez dixwazim ji wan re bibihîzî. Ji bo derketina şîrove an ji min re bişînin ji xwe re bişîne @Jack_Franklin.

Me bi Çav Çavkanî Open SourceCraft ve girêdayî ye ku ji we re 6 Pêşniyarên Pêşniyarên ji Pêşdebirên React bînin. Ji bo naveroka çavkaniya vekirî ya vekirî, Open SourceCraft kontrol bikin.