Wuu Posted August 12, 2015 Report Share Posted August 12, 2015 (edited) Pēdējie divi projekti uzrakstīti ar lielu prieku lietojot React. Bet joprojām kretinē kā es dzenēju ajax pieprasījumus. Gribās kaut ko mazāku, ērtāk lietojamu. Varbūt kungi varētu ieteikt? Šī brīža risinājums... Un kodā desmitiem šādu copy, pasta.... $.ajax({ url: 'api.php', type: 'POST', dataType: 'json', data: JSON.stringify(send), contentType: 'application/json; charset=utf-8', success: function(json) { if (json[0].error === 0) { ... }.bind(this), error: function(xhr, textStatus, errorThrown){ ... }.bind(this) }); Edited August 12, 2015 by Wuu Quote Link to comment Share on other sites More sharing options...
0 Sasa Posted August 12, 2015 Report Share Posted August 12, 2015 Apskati AngularJS $http Quote Link to comment Share on other sites More sharing options...
0 Kavacky Posted August 12, 2015 Report Share Posted August 12, 2015 "function ajax(json, onsuccess, onerror)"? Quote Link to comment Share on other sites More sharing options...
0 qwerty Posted August 12, 2015 Report Share Posted August 12, 2015 man ir: function( url, type, data, onsuccess, onerror ){} Sanāk nedaudz īsāk. Ja nav noslēpums padalies kādus projektus tu esi ar React uzbliezis. Quote Link to comment Share on other sites More sharing options...
0 qwerty Posted August 12, 2015 Report Share Posted August 12, 2015 Un vispār šāds tads ekstra-toolings ir pieejams React Reflux. Bet tur ir nedaudz learning curve, kā arī zema popularitāte - 90% ka nevarēsi šo lietot sastrādājoties ar kolēģiem Latvijā, vismaz man tā ir. Quote Link to comment Share on other sites More sharing options...
0 Wuu Posted August 12, 2015 Author Report Share Posted August 12, 2015 (edited) Atvainojos, laikam nepareizi izteicos. Samazināt teksta izmēru jau nav problēma, gribētos lai React komponenti paši pieprasa kādus datus viņiem vajag atjaunot, neskrienot caur props uz root komponentu ar pieprasījumu. Vēl vairāk tracina, kad piemēram, pie componentDidMount() ir ajax pieprasījums, un tad, pie izmaiņas, piem. onClick. Jānosūta un atkal jāpieprasa jaunos datus. Papildus jāveic pārbaudes, vai serveris vispār ir atbildējis. Būtība, React padara klienta puses veidošanu par izklaidi, bet jūtu ka datu saņemšana un nosūtīšana ir joprojām jēls pasākums, kas tiek darīts bez prieka. Pēdējie divi projekti ir darbinieku stundu uzskaite (Stipri komplicētāk nekā izklausās) un noliktavas kontroles sistēma, operatoriem apstrādāt pasūtījumus un sekot līdzi noliktavas daudzumiem. Edited August 12, 2015 by Wuu Quote Link to comment Share on other sites More sharing options...
0 codez Posted August 12, 2015 Report Share Posted August 12, 2015 Turpinājumā ReactJs, Facebook izstrādājis Relayjs un Graphql, kas kaut kādā veidā risina šī problēmas. Pamatideja, React komponentes deklarē kādus datus viņām vajag (piemērs), tiek savākts nepieciešamo datu grafs, kuru pieprasa serverim, no kur saņemot atbildi, dati tiek smuki salikti pa komponentēm. Produkcijā gan šo neesmu izmantojis. Bet tavā gadījumā der ļoti vienkāršs mixins, kura loģika ir universāla visām komponentēm, tik jāpadod urlis no kurienes dabūt datus. Es gan daru tā, ka man ir store, kurā glabājas entitīji un globāli dati un ajax atbildes tiek apstrādātas viso gadījumos un, ja tajās ir jauni entitīju dati, tad komponente, kura uz tiem klausās, automātiski atjaunojas. Tādā veidā man lielākā daļa ajax funkciju ir bez callbackiem. Piemēram, ja es userim nomainu parametru "name", tad man atnāk atbilde {entities:{users:{123:{name:"john"}}}}, tā automātiski tiek saglabāta entitīju storē un visas komponentes, kuras klausās uz konkrēto entitīju tiek pārrenderētas. Tādā veidā uz onClick, man būtu tikai request('user/changename',{id:123, name:"john"}) Būtībā tas ir kaut kādā veidā vienkāršos Relayjs darbības princips. Quote Link to comment Share on other sites More sharing options...
0 F3llony Posted August 12, 2015 Report Share Posted August 12, 2015 marionettejs.com Quote Link to comment Share on other sites More sharing options...
Question
Wuu
Pēdējie divi projekti uzrakstīti ar lielu prieku lietojot React. Bet joprojām kretinē kā es dzenēju ajax pieprasījumus. Gribās kaut ko mazāku, ērtāk lietojamu. Varbūt kungi varētu ieteikt?
Šī brīža risinājums...
Un kodā desmitiem šādu copy, pasta....
Edited by WuuLink to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.