摘要:本文轉(zhuǎn)載自眾成翻譯譯者鏈接原文我們已準(zhǔn)備好外部請(qǐng)求獲取數(shù)據(jù)今天我們來(lái)看一下調(diào)用外部的第一步。查詢(xún)遠(yuǎn)程數(shù)據(jù)正常的瀏覽器工作流實(shí)際上是同步的。如果我們想從異地獲取一些數(shù)據(jù)怎么辦我們將在啟動(dòng)時(shí)對(duì)數(shù)據(jù)進(jìn)行請(qǐng)求以在應(yīng)用中填充數(shù)據(jù)。
本文轉(zhuǎn)載自:眾成翻譯
譯者:iOSDevLog
鏈接:http://www.zcfy.cc/article/3816
原文:https://www.fullstackreact.com/30-days-of-react/day-14/
我們已準(zhǔn)備好外部請(qǐng)求獲取數(shù)據(jù)!今天我們來(lái)看一下調(diào)用外部API的第一步。
直到這一點(diǎn),我們的應(yīng)用基本上是靜態(tài)的。即使我們從 github 顯示的數(shù)據(jù)也是我們項(xiàng)目中包含的靜態(tài)數(shù)據(jù)。我們的應(yīng)用確實(shí)和我們使用的數(shù)據(jù)一樣有趣, 因此讓我們的應(yīng)用更有趣。
查詢(xún)遠(yuǎn)程數(shù)據(jù)正常的瀏覽器工作流實(shí)際上是同步的。當(dāng)瀏覽器接收 html 時(shí), 它將解析 html 內(nèi)容的字符串并將其轉(zhuǎn)換為樹(shù)對(duì)象 (這就是我們通常所指的 DOM 對(duì)象/DOM 樹(shù))。
當(dāng)瀏覽器解析 DOM 樹(shù)時(shí), 當(dāng)它遇到遠(yuǎn)程文件 (如and標(biāo)記) 時(shí), 瀏覽器將請(qǐng)求這些文件 (并行), 但將同步執(zhí)行它們 (以便維護(hù)它們?cè)谠粗辛谐龅捻樞?。
如果我們想從異地獲取一些數(shù)據(jù)怎么辦?我們將在啟動(dòng)時(shí)對(duì)數(shù)據(jù)進(jìn)行請(qǐng)求, 以在應(yīng)用中填充數(shù)據(jù)。但是, 由于外部 api 請(qǐng)求的異步特性, _它_不一定那容易做到。
本質(zhì)上, 這意味著我們必須在一段未知的時(shí)間內(nèi)處理 javascript 代碼, 以及實(shí)際發(fā)出 http 請(qǐng)求。幸運(yùn)的是, 其他人已經(jīng)處理這個(gè)問(wèn)題很長(zhǎng)一段時(shí)間, 我們現(xiàn)在有一些很好的方法來(lái)處理它。
從處理如何進(jìn)行 http 請(qǐng)求開(kāi)始, 我們將使用一個(gè)庫(kù) (稱(chēng)為 fetch,, 它也是一個(gè) web 標(biāo)準(zhǔn)) 使 http 請(qǐng)求更容易處理。
獲取為了使用獲取, 我們需要在我們以前創(chuàng)建的應(yīng)用中安裝該庫(kù)。讓我們?cè)俅未蜷_(kāi)一個(gè)終端窗口, 使用npm 來(lái)安裝 whatwg-fetch 庫(kù) (fetch的實(shí)現(xiàn))。在創(chuàng)建應(yīng)用的同一目錄中, 讓我們調(diào)用:
`npm install --save whatwg-fetch`
安裝了該庫(kù)后, 我們可以向離線服務(wù)器發(fā)出請(qǐng)求。為了獲得訪問(wèn) fetch 庫(kù), 我們需要在腳本中import 該包。讓我們更新我們的src/App.js 文件的前幾行添加第二行:
import React, { Component } from "react"; import "whatwg-fetch"; // ...
whatwg-fetch 對(duì)象是唯一的, 因?yàn)樗巧贁?shù)幾個(gè)庫(kù), 我們將使用它在global對(duì)象上附加它的導(dǎo)出 (在瀏覽器的情況下, 這個(gè)對(duì)象是window)。
不同于react 庫(kù), 我們不需要得到一個(gè)處理它的輸出, 因?yàn)閹?kù)使它在全局對(duì)象上可用。
在我們的項(xiàng)目中包含whatwg-fetch 庫(kù), 我們可以使用 fetch() api 進(jìn)行請(qǐng)求。然而, 在我們真正開(kāi)始使用 fetch() api 之前, 我們需要了解什么是承諾, 以及它們?nèi)绾翁幚碓诮榻B中討論的異步。
我們明天會(huì)有 promises 。從第二周開(kāi)始好的工作,, 明天見(jiàn)!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/84684.html
摘要:截至今天我們已經(jīng)通過(guò)承諾使用包建立我們的應(yīng)用程序安裝我們的遠(yuǎn)程對(duì)象獲取庫(kù)我們終于準(zhǔn)備好將遠(yuǎn)程數(shù)據(jù)集成到我們的應(yīng)用程序中。真的很有趣在任何情況下今天我們做了相當(dāng)多的工作獲取遠(yuǎn)程數(shù)據(jù)到我們的應(yīng)用程序。 本文轉(zhuǎn)載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3813原文:https://www.fullstackreact.com/30-da...
摘要:今天我們將討論創(chuàng)建組件的最終方案,即無(wú)狀態(tài)函數(shù)的純組件。今天我們正在研究一種處理提出的復(fù)雜數(shù)據(jù)的方法,稱(chēng)為體系結(jié)構(gòu)。第天部署介紹今天,我們將探討部署我們的應(yīng)用所涉及的不同部分,以便外界可以使用我們的應(yīng)用。 本文轉(zhuǎn)載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3758原文:https://www.fullstackreact.com/3...
摘要:使用承諾對(duì)象使我們有機(jī)會(huì)將異步操作的最終成功或失敗關(guān)聯(lián)到功能無(wú)論出于何種原因。例如在上面的示例中函數(shù)解析為值在成功完成時(shí)并在返回值這是另一個(gè)承諾上調(diào)用函數(shù)依此類(lèi)推等等。這意味著我們只能返回一個(gè)承諾一次。 本文轉(zhuǎn)載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3814原文:https://www.fullstackreact.com/30...
摘要:去營(yíng)救有一種方法我們把我們的歸約器分成多個(gè)歸約器每個(gè)都只負(fù)責(zé)狀態(tài)樹(shù)的葉子。此外我們還學(xué)習(xí)了如何擴(kuò)展以使用多個(gè)歸約器和動(dòng)作以及多個(gè)連接的組件。 本文轉(zhuǎn)載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3825原文:https://www.fullstackreact.com/30-days-of-react/day-20/ 使用Redux,...
摘要:在我們的應(yīng)用中添加太多的復(fù)雜度來(lái)加載外部數(shù)據(jù)之前今天我們將快速了解如何在應(yīng)用中重復(fù)組件元素。出于性能原因使用虛擬嘗試限制在重新視圖時(shí)需要更新的元素的數(shù)量。 本文轉(zhuǎn)載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3826原文:https://www.fullstackreact.com/30-days-of-react/day-13/ 今...
閱讀 2328·2023-04-26 00:28
閱讀 3074·2019-08-30 15:55
閱讀 2747·2019-08-30 12:47
閱讀 1557·2019-08-29 11:04
閱讀 3171·2019-08-28 18:14
閱讀 948·2019-08-28 18:11
閱讀 1676·2019-08-26 18:36
閱讀 3389·2019-08-23 18:21