#54912522 · 3 Jul 2019, 02:32 · · პროფილი · პირადი მიმოწერა · ჩატი
overlordამინ ხო sync/async ს რაც შეეხება სინქრონული ნიშნავს რომ არ დაელოდება მონაცემები როდის მოვა და შესრულდება სუნქრონულად ინსტრუქცია ასინქრონილი კი პირიქით დაელოდება მონაცემების მოღებას ანუ მარტიბლვ ენაზე დაპაუზდება სანამ მონაცემებს არ მიიღ3ბს და მერე შესრულდება ფუნქცია რასაც ასინქრონულ ფუნქციაში ვაკეთებთ CODE | getPosts() { const response = axios.get("json ფაილი.json"); const data = response.data; this.setState({ posts: [...data] }); }
|
წარმოიდგინე ასეთი გავაკეთოთ წავა და არაფერს დაელოდება შესრულდება setState ასინქრონულის შემთხვევაში ელოდება როდესაც data მოვა მერე შესრულდება setState აქ შეგიძლია try/catch გამოიყენო error handling ისთვის ან პრომისე გააკეთო როგორც შეს ვერსიაში და catch ით დაიჭირო შეცდომა
კიდევ შეგიძლია დახვეწო მაგალითად ერთგვარი ლოადერი გააკეთო ანუ სანამ მონაცემებს იღებს რამე ui ზე loading ანიმაცია გააკეთო მაგალითად
CODE | <div> {!posts ? (<div>loading....</div>) : ( posts.map((post, idx) => ( <Post key={idx} title={post.title} date={post.date} author={post.author} tags={post.tags} /> )))} </div>
|
if/else პირობის short form ია true ? "Yes" : "No"
თუ ცოდა გაუგებრად ვხსნი სორი ხო კიდევ... შეგიძლია ეს tags ებიც ცალკე კომპონენტში გაიტანო
CODE | <li> {tags.map((tag,idx) => <Tag key={idx} tag={tag} /> ) </li>
|
რაც უფრო "დასპლიტული" გექნება კომპონენტები მარტივი იქნება ნავიგაციან კოდში აი სისწრაფის მხრივ არვიცი შედეგი რა იქნება კაკრაზ გუშინ თუ დღეს მოვკარი აბრამოვის ტვიტს თვალი მაგაზე ბაზრობდა რომ ანელებს პროექტს არასწორი ფაილების სტრუქტურაო და არ წამიკითხავს მერე გადავხედავ პ.ს. გადავიტყავე ხელები მობილურით
|