Back to Question Center
0

Ji bo Pêşveçalakên Anguler            Ji bo Pêşveçûna Kûçikên Kûlan a Guhertin npmAPIsReactAngularJSES6More ... Sponsors

1 answers:
Ji bo Pêşveçûna Kûçikên Katalonî veguherînin

Ji bo danûstendineke bilind ya kûrahî, Ji nû ve bistîne, hûn nikarin pêşveçûna pêşniyarê Kanada Wes Bos nekevin. Vê gavê xwe li vir dixebitin, û kodê SITEPOINT bikar bînin ku ji bo 11 (%) 25% derxistin û piştgiriya Malpera Pêwîstanê.

Ev gotar ji bo pêşveçûna pêşniyarên ku ji hêla Angular 1 - find my super anuation number. X e û dixwaze li ser Semaltê hîn bibin. Em ê di rêbazên cuda de binêrin ku ew dixwazin ji bo serîlêdanên malperên dewlemendan çêbikin, karbidestiya overlapping û astengiyên ku Semalt naxwazin hewl bikin.

Piştî xwendinê, hûn ê fêm bikin ku pirsgirêkên Semalt ji bo çareserkirina çareseriyê bikin û hûn çawa dikarin bikaribin bikar bînin ku bikaribin ku ji ber ku hûn bi karanîna projeyên xwe yên li Semalt bi dest bi dest bi dest bi kar bikin.

Frameworks vs Libraries

Kewçêr yek çarçoveya ye, lê belê li ser veguherî tenê li ser dîtinê nêrînek pirtirkêmtir ye. Vebijandin û qezencên ku di çarçoveya û çarçoveya kolektîfên heval ên bi hevdû de hatine bikaranîn hene.

Frameworkên hewl bikin ku çareseriya yekser pêşniyar bikin, û ew dikarin alîkariya kod û rêkeftinên kodê saz bikin eger hûn beşek ji tîma mezin a. Semalt, ku API-ê pir mezin dibe ku hûn nivîsandinê binivîsin, û hûn ê dokumên xwendinê û pîvanên bîr bixwînin û bi taybetî jî di demên pêşîn de dema ku hûn hîn hîn dibin.

Bikaranîna pirtûkxaneyên piçûk ên bi hêla API-ê yên piçûk hêsan dibe ku hîn bibin û bisekinin, lê wateya ku hûn pirsgirêkên xwe bigirin, hûn hewceyê ku hûn bi koda bêtir bi kodê re bişînin an hewldanên hewldanên derve yên xwe bişînin. Ev gelemperî di encamê de hûn encam dikin çarçoveya xwe çarçoveya ku ji bo boilerê kêm bikin.

Dersên Kursên Pêşniyar

Ji Xwe Ji Bêguman

Angularî ku hûn ji bo serîlêdana malperên avakirina avahiyek dewlemendî dide. Semalt taybetmendiyên wê hene:

  • HTML-Şablonên bi rexneyên dînamîk ên di du curlies {{}}
  • ji bo rêbazên HTML-48 , nîv-re-dubare û ng-class ji bo pêşveçûnên HTML
  • kontrolkarên ji bo materyalkirina materyal û daneyên danûstandinê bi dîtina
  • du rêyên ku bi rêbazek hêsan a ku hûn çavdêriya xwe bibînin û kontrolker di sync de
  • kombûnek mezin a modulalan wek $ http ji bo peywendiya bi serverê û ngRoute ji bo rêvegirtinê
  • rêvebirinê ji bo afirandina syntaxa HTML ya xwe
  • însiyonê ku ji bo veberhênanên taybet ên beşên taybetî yên serîlêdanê
  • xizmetên ji bo mantiqa bazirganî yên hevpar
  • fîlmên ji bo çavdêriya dîtina çavkaniyan.

Semalt, li alîyê din jî, dide we:

  • JSX syntax for templates with JavaScript expressions in a curlies {}
  • pêkhatî, yên ku pir ji hêla rêberên katalonî rêber hene.

Dema ku ew li dora rûniştina bicîhkirina we tê de nerazîkirin ne û ne ku ew bikarhênerên Semaltî yên li ser çarçoveya çarçoveya standardê bihêz dike. Ji bilî bêtir pêşkêşkirina weya wekî $ http ji bo danûstendina serverê, hûn dikarin ji bo fetchê bikar bînin. Hûn dikarin ji bo avakirina xizmetê û felterên avakirina bikar bînin, lê paşnav dê ji bo wan nerazîbûnê nade. Hûn dikarin li wan di modulên Semalt de bikin û hewceyê ku hûn di beşên we de hewce ne.

Ji ber vê yekê, Kîngê kîngê ku hûn ji bo karên hevpar ên gelemperî dide we, ji ber vê yekê bizanin ku hûn ji hêla Semaltê standard ve binivîsin û hemî ji bo her tiştên din ve girêdayî derve.

Dersên Kursên Pêşniyar

Bootstrapping

Vebijêrkên Semaltê pergala Semalt divê, pirtûka pêdiviyên girêdayî û elementek root nîne.

     bila app = angular. querySelector ('# root');kewçêr element (root). amadekirin (function    {kewçêr bootstrap (root, ['app']);});    

Pêvgirêka veguhestinê ya veguhast a parçeyek di nav navekî root de rendering e. Semalt bi gengaziyek pir beşên cûdî hene, pir jî:

     bila belge = belge bike. querySelector ('# root');ReactDOM. pêşkêşî (, root)    

Templates

Anatomy ya nêrînek kûçek pir zehmet e û gelek berpirsiyarî hene. Gotarên HTMLê hene ku tevlîhev û ramanên hevpeymanan hene, ku çavdêriya û navek têkildar bi hev re girêdayî ye. Danûstandin li seranserî pir nîqaşan bi 46 ($) $ $ .

Di Reactasyona deverên wê her awayî riya , daneyên duyê di binê çemê dara hûrsê de bi navên kelepên danê. JSX ji bo beşên nivîskî nivîskî pir hevpeyman e, damezirandina xml a familiar in JavaScript. Her wisa hevpeymaniya hevpeymanê mîna hevpeymanan e, ew bangên fonksiyonên nested.

     const App = Reform. createClass ({pêşkêş kirin: (function) {vegera ( 
{2 + 1}
. getTime }>)}})

Divê jibergirtina koda ku divê jimareya JSX li ser nexşeya çêbikin (beşek, props, zarok) jibo belgekirinê:

     var App = Reform. createClass ({render: function render    {Veguhere. createElement (Perçe,null,Bersivkirin. createElement ("div", null, 2 + 1),Bersivkirin. createElement (Component, {prop: "value"}),Bersivkirin. createElement (Perçe,{Demjimêr: Dîroka Nû   . getTime   },Bersivkirin. afirandina çêkirin (Component, null)));}});    

Rêvebarên Şablon

Bila bibînin ka çend merivên dakêşînên katalê yên kîmyewî yên di binê react re têne nivîsandin. Niha, React ne tîmên pêdivî ye, da ku ev nimûneyên JSX kodê hene ku di hundurê beşê de fonksiyonê pêşkêş dikin. Bo nimûne:

     Dîteya MyComponent React. Component {render    {vegera (// JSX li vir dijîn)}}    

ng-repeat

      
  • {word}

Em dikarin wekî mekanîzmayên standard JavaScript-ên ku wekî nexşeyê bikar bînin ku armancên hêmanên JSX bibin.

      
    {words. Nexşeya ((peyva) =>
  • {peyva}
  • )}

ng-class

      

Di Reactasyona me de, em di nav cîhên xwe de derketin, lîsteya cûda-cihê xwe ji bo dersên ku ji bo qada sîteyê de biafirînin. Ji bo vê armanca ji bo grûpên Jed Watson ji bo fonksiyonek heyî tê bikaranîn.

           

Riya ku ji van taybetmendiyên li JSX difikirin, wekî ku hûn li ser wan nodên taybetmendiyê damezirandin. Ji ber vê yekê, navê wê className ji bila navê çiqas taybetmendiyê ye.

     formNode. className = "çewtiyek çalak";    

ng-if

      

Yep

heke .din daxuyaniyên JSX di hundurê xwe de kar nakin, çimkî JSX tenê şekirê syntactîk e ku ji bo karê gazî û avakirina pirtûkxaneyê ye. Ew gelemperî ku ji bo vê operatorên ternary bikar bînin an jî logikên şerta şertî li seranserî rêberê, ji derveyî JSX veguherîne. veguherîn {nimûne: yek} , ji bo CSS-ê armanca we hûrgelên xwe veşartî (kîjan kewçêr çawa çêdibe dike).

     

Living

Ghost

Living

Ghost

Hûn ji hêla wî ve girêdayî ye. Di şûna taybetmendiya taybet a syntax û taybetmendiyê, divê hûn Semalt bikar bînin ku hûn bigihîjin ku hûn çi dixwazin.

Wek mînakek

React Alozên yên piranîya mîna Angular Derhênêr ne. Ew bi taybetî ji bo avahiyên DOM-ê û tevgerê bi karanîna reşên reşable bikar tînin. Li jêr jimareke nimûneyeke pîşekek e ku ji hêla slîdan qebûl dike, pirtûka lîstikên navendî yên navendî û riya xwe ya 46 (çalak) çalakIndex dike ku nîşan bide çalakiya çalakî.

      
     app. Controler ("SlideShowController", function ($ scope) {qada $. slides = [{imageUrl: "allan-beaver. jpg"Vebijêrk: "Allan Allan Al Al Allan"}, {imageUrl: "steve-beaver. jpg"Vebijêrk: "Steve Steve Steve"}];});app. derhêner ("slideShow", fonksiyonê    {vegera {sînor bikin: 'E'çarçoveya: {slides: '='},Şablon: `
  • > {{slide. caption}}
  • {{$ index + 1}}
`,link: çalak ($ ​​dora $, element, navnîşan) {qada $. activeIndex = 0;qada $. jumpToSlide = function (index) {qada $. activeIndex = index;};}};});

Parçoveya Slideshow di Angular

Li ser PîvanPen (Site-@)

Ev beşek li Semalt dê di çarçoveyeka din de were pêşkêş kirin û daneyên slides veguhastin.

     let _slides = [{imageUrl: "allan-beaver. jpg"Vebijêrk: "Allan Allan Al Al Allan"}, {imageUrl: "steve-beaver. jpg"Vebijêrk: "Steve Steve Steve"}];App App Component {render    {vegerin }}    

deverên reaksiyonî di çarçoveya deverek herêmî heye. dewletê , ku hûn dikarin bi telefonê re biguherînin. setState ({key: nirx}) . Her guhertinên li dewletê sedemên xwe bi xwe re veguhestin.

     Dîteya Hilbijartinê Guhertin. Component {sazker    {yekemxweş  ev. dewlet = {activeIndex: 0};}jumpToSlide (index) {ev. setState ({activeIndex: index});}render    {vegera (
    {ev. pêşniyar slides. nexşeya ((slide, index) => (
  • {slide. têketinê?
    {slide. caption} : null}
  • ))}
    {ev. pêşniyar slides. nexşeya ((slide, index) => (
  • {index + 1}
  • ))}
);}}

Çalakiyên di Reactasyona ku li seranserê çalakiya kevne-dibistanê de li ser binivîsin . Hûn nefret dikin, her çiqas: di bin hoodê de tiştek rast e û bûyerên guhdarên herî girîng ên şandin.

Guhertoya Qewlikê di React

Guhertoya Penaberan nîşan bide Guherandinên ji SitePoint (@SitePoint) li CodePen.

Du-Way Binding

qada mîkrojî ng-model û asta $ ku girêdayî danûstandinên hûrgelan û taybetmendiyên li ser pirtûkên JavaScriptê di kontrola kontrolker de veguherîne $.

     app. kontrolker ("DuWayController", fonksiyonê ($ scope) {qada $. kes = {navê 'Bruce'};});     
     

Hello {{person. navê}}!

Semalt di vê rengê de bi riya danûstendina danûstandina yek awayek rast eşkere dike. Hemî nirxên nêrînên bi hemî rengan re ava kirin.

     sinifa OneWayComponent veguherîne. Component {sazker    {yekemxweş  ev. dewletê = {name: 'Bruce'}}guherandin (event) {ev. setState ({name: target target].;}render    {vegera ( 
vê. guherîn (bûyer)} />

Hello {ev. rewş. navê}!

);}}

Li vir li vir tête "kontrola kontrola". Ev wateya wateya wê ya ku heya `karûbar`` tê gotin tête guherîn e (li ser her mînakek li ser mînaka jor). Di beşa xwe de tê gotin "rastdar", çimkî ew daneyên xwe bixwe dike. Ev ji bo piraniya beşan ji bo pêşniyar nayê pêşniyar kirin. Ya îdeal e ku beşên "bêaqil" pêk bînin û daneyên daneyên xwe ji bilî props bi derbas bûne.

Li Danûstandina Danezana Yek-Rêza Guhertinê li Guhertoya SitePoint (@SitePoint) li ser CodePen re bibînin.

Bi gelemperî, Container Component or Controller View View li ser serê dara ku gelek beşên zarokê bêbawer bin binêrin. Ji bo bêtir agahdarî li ser vê yekê, bixwazin kîjan Hûrgelan divê Semalt be? ji pelan.

Parêzêd Xwe Serûpel

Daneyên Semalt di heman rengê de dorpêç dike, ew e ku rêbazên li ser dêûbavên dêûbavan bavêje. Ev bi gelemperî bersiva hin bikarhênerê ve tête kirin. Vê xemgîniya ku hûn pêkanîna pêvajoyên refên xwe yên hêsan ên herî hêsan ên hêsantir ên herî hêsan ên ku hêsantir. Heke ku beşek nerazîbûn tune ne dewlet, ew dikarin wekî karên paqijî binivîsin.

     // A beşek nimûne ya wekî fîlmek paqij hatiye nivîsandinYek OneWayComponent = (props) => ( 
props. onChange (qezenca target target)} />

Hello {props. navê}!

);ParentComponent Parvekirina Reqê. Component {sazker {yekemxweş ev. dewletê = {name: 'Bruce'};}guhertin (nirx) {ev. setState ({name: value});}render {vegera (

Hello {ev. rewş. navê}!

)}}

Dibe ku ev yek di heman rengê de hebe ku hûn bi du-rêyên danûstendina danûstendina xwe dizane. Pawlos pir beşên "dumb" yên ku bi tenê daneyên ku props qebûl dikin û wan pêşkêş dikin ew e ku ew bi hêsantir re hêsan e, û beşên hêsan hene dûr kêm kûçik hene . Ev yek ji UI ji dewleta nerengî ye, ji ber ku dibe ku hejmara data li gelek cihan e û hewce dike ku ji hev veguherîn. Hûn dikarin bi karûbarek wek Webpack, SystemJS an Browserify bikar bînin.

     // rêveberiya kûçikek bi bi rexnegiranapp. derhêner ('mycomponent', ['Notifier', 'filter' $, çalak (Notifier, $ filter) {const formatName = filtera $ $ ('formatName');// Bikaranîna Notifier / formatName}]// ES6 Module ji alîyê React ve tê bikaranînImporter ji hêla "xizmetê / notifier" veşêre;imported {formatName} ji "filter"Derseya MyComponent Têkilî dike. Component {// Bikaranîna Notifier / formatName}    

Dengê mezin. Ez dikarim herdu bikar bînin?

Erê! Ew gengaz e ku pêkhêne di nava hundurê kongular ya heyî de veguhestin. Ben Nadel bi screencastê xweşek baş kir ku di çarçoveya rêbazên React ve girêdayî derhênerê Angularî. Di heman demê de, di heman demê de di nav deverê de, ji bo React û Angular-a-gûv-ê-gûv-an-ê-a-nîjonê heye.

Heke hûn di hin hûrgelên Semaltê de li ser pisporên performansa xwe bistînin, dibe ku hûn ê ji bo veguhastina hin hûrgumanên pêşniyarkirî bibin. Ew tê gotin, ev e ku nimûne heman pirtûkxane ku du pirtûkxaneyên javascript ên mezin hene, ne baş e. Tevî ku Reacte tenê tenê çermê ye, ew bi heman rengî wek Semaltê ye, ji ber ku dibe ku hûn giranîna karanîna we bi bingehîn qedexe ye.

Dema Semalt û Angular ji wan re pirsgirêk çareser dikin, ew li ser riyên cuda hene. Semalt ji nêzîkên bandor ên ji hêla bandorên paqij in, karûbarên vegotîfîk, fonksiyonê re dikeve dike. Ev şêweya fonksiyonê ya bernameyê bi kêşeyên kêmtir dibe û sedem ji bo sedemek zehmet e.

Li ser Kûçik 2 Çawa?

Parçeyên di Angular 2 de beşên Semalt ên di gelek awayan de nîşan bikin. Dokumentên nimûne di dokumentan de li dora nêzîkbûna nêzîk û sepanê heye. Çalakiyên heman rengî dibînin. Ew diyar dike ku çawa nêrînên hîgarparêz bikar bînin, çawa ku hûn dixwazin ku hûn li Semaltê ava bikin, û ew ji modulên pêkanîna ES6-modulan ji bo însansiyonê dike.

     // Angular 2@Perçe({Hilbijêre: 'hello-component',Şablon: ` 

Min çend kilîtan bide min!
{{nirxên}}
`})Dersa HelloComponent {nirx = '';onKeyUp {event] {ev. nirx = = bûyer. armanc. value + '| ';}}// ReactDersa HelloComponent Têkilî dike. Component {avakar (props) {yekemxweş ev. dewlet = {nirxên ':' '};}onKeyUp {event] {nirxên nirx = `$ {ev. rewş. nirxên çalakiyê. armanc. value} | `;ev. setState ({values: values}};}render {vegera (

Min çend kilîtan bide min!
{ev. rewş. nirxên}

);}}

Gelek karan li ser Semalt 2 hatiye çêkirin. Gotûbêja paşîn ya sîteyê û tevlîheviyên li derdora scopes di nav bihayên mezin de gelek pirsgirêkên çalakiyê.

Serlêdana Serkeftî

Di vê gotara min de li ser gotûbêja, derhêner û forman, lê heger hûn pêlêdana temamî ava dikin, hûn ê ji bo ku hûn modela daneyên danûstendina danûstendina danûstendina danûstendina danûstendinê, veguhestina ragihandinê û rêvebirinê kêmtir hewce dikin. Dema ku ez yekem yekem fêr bûne û bîrkirin, min mînakek semaltek çêkir ku ew fêm kir ka ew çawa kar dikin û çi bibînin ku ezmûnek pêşveçûna pêşdebir bû mîna berê min bi serîlêdanên rastîn bi wan re dest bi kar anîn.

Hûn dikarin ji xwe re balkêş binêrin ku bi van nimûneyên bihayên din binêrin ku ji bo guhertin û Kuala Lehsê digirin. Nimûneya Reformê li CJSX bi CoffeeScript nivîsî ye, tevî ku civaka React ve hatiye nav ES6 bi Babel û Semalt bi hev civand, da ku ew amûrek e ku ez pêşniyar bikim ku hûn îro îro dest pê bikin.

  • https: // github. com / markbrown4 / gmail-reaction
  • https: // github. com / mînak / reklam /
  • http: // todomvc. com / mînak / angularjs /

Çavkaniyên Perwerde

Guherîna Zanyariyê bi kêfxweş bû, ev ji bo bernameyek çalakiya min hîn dikir û civakek xurt dike ku ew perçeyên xwe yên balkêş bi Reza ekosystem re. Andrew Ray di mijarên React û Flux de çend hûrgelan pêşnivîsî nivîsand, şîreta Reactor a fermî ye ku diçin destpêkirin. Hizkirin!

  • Kesên bêaqilî - Andrew Ray
  • Flux ji bo mirovên bêaqil - Andrew Ray
  • Tutorial Reaction - Facebook
  • Guhertoya Reform - Ryan Florence
  • Redux - Sîstema Video de Dan Abramov

Ev gotara ku ji aliyê Craig Bilner ve hatirxandin. Ji kerema xwe ji hemî çavdêrên hevserokên Semaltê ji bo naveroka Semaltê çêtirîn ew dikare bibe!

React for Angular DevelopersReact for Angular DevelopersRelated Semalt:
npmAPIsReactAngularJSES6More. Sponsors
Karê Pêşdebirkirina Kuala Navîn û Tîpa Lîstik
Todd Motto
Çavkaniya dawî ya ku ji kîmyewî û ekolojiya xwe fêr bibin. Koda kopê 'SITEPOINT' bikar bînin ku li checkoutê 25% dûr .
React for Angular DevelopersReact for Angular DevelopersRelated Semalt:
npmAPIsReactAngularJSES6More. Sponsors
Ji bo Beginners 5
Wes Bos
Dersa perwerdehiya pêngavê gav ji bo ku hûn çêkirina cîhanê rastîn rastîn bikin. ji js + Firebase apps û malperên malperê di çend çend deveran de. Koda kopê 'SITEPOINT' bikar bînin ku li checkoutê 25% dûr .
March 1, 2018