亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

react如何和server交互

1treeS / 1968人閱讀

摘要:在一個應(yīng)用中,如何通過和端進行交互這個問題曾經(jīng)困擾了我一段時間,經(jīng)過學(xué)習(xí)實踐,有了一點心得體會,寫出來和大家分享一下。組件和一樣,和進行交互,將獲取的通過向下傳遞給組件。不足被設(shè)計用來和服務(wù)器一起運行,并不能很好的和第三方服務(wù)交互。

在一個react應(yīng)用中,如何通過ajax和server端進行交互這個問題曾經(jīng)困擾了我一段時間,經(jīng)過學(xué)習(xí)實踐,有了一點心得體會,寫出來和大家分享一下。

總的來說,我知道的react ajax交互方式大致有以下4種:

Root Component

Container Component

Redux/Flux Async Actions

Relay

Root Component

這個是最直接的方式,非常適合原型和小型應(yīng)用開發(fā)。

實現(xiàn)方案

實現(xiàn)起來也很簡單,在整個應(yīng)用的最頂層,有一個root component。所有的ajax請求都在這個組件的componentDidMount中發(fā)起,并將返回的結(jié)果作為自己的state保存,同時,通過props向下層組件傳遞數(shù)據(jù)。

不足

如果應(yīng)用比較大,組件嵌套比較深的話,data得通過props一路傳下去……(當(dāng)然,也可以通過context的方式,不過context用來傳data并不合適)

使用場景

應(yīng)用比較簡單,組件樹不深

沒有用Redux或者Flux

Container Component

這個方案和root component很像,區(qū)別在于可以同時有多個container和server交互。

實現(xiàn)方案

首先要把component區(qū)分為container和presentational兩類。

container組件和root component一樣,和server進行ajax交互,將獲取的data通過props向下傳遞給presentational組件。

使用場景

組件樹比較深

需要從不同的server或者api獲取數(shù)據(jù)

沒有用Redux或者Flux

Redux/Flux Async Actions

如果已經(jīng)在使用Redux/Flux,通過他們來管理數(shù)據(jù)是很自然的事情。

實現(xiàn)方案

實現(xiàn)上,Redux官方文檔有個很好的示例。

簡單來說,就是完全不在組件中發(fā)起ajax請求,將這些操作放在async actions中進行。

使用場景

使用和Redux或者Flux

Relay

Relay就完全是另外一個世界了,和前面三種有本質(zhì)區(qū)別。

Relay適用于大型應(yīng)用(比如facebook),使用Relay必須同時提供一個GraphQL server。

實現(xiàn)方案

首先,得有一個GraphQL server,然后,還得用GraphQL(而不是propTypes)定義組件需要的數(shù)據(jù)。剩下的交給Relay就好了,他會負責(zé)自動下載需要的數(shù)據(jù)并填充到組件的props里面。

不足

Relay被設(shè)計用來和GraphQL服務(wù)器一起運行,并不能很好的和第三方j(luò)son服務(wù)交互。

目前,Relay好像只能和一個GraphQL服務(wù)器連接。

使用場景

超大型應(yīng)用

不打算使用json API

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/78663.html

相關(guān)文章

  • React項目實踐系列一

    摘要:在此我們選用用友的公共靜態(tài)資源庫。因此打算建立遠程的其實還有個關(guān)鍵是我使用用友配的電腦開發(fā),在本地部署的話電腦配置。。。不過此步驟我們也可以省略了,用友的大前端技術(shù)團隊提供了平臺。 數(shù)據(jù)分析平臺-實踐系列一 項目創(chuàng)建于2018年1月底,到現(xiàn)在已經(jīng)接近半年,在此寫下半年來項目的實踐過程以及自己對前端的學(xué)習(xí)與體悟。 技術(shù)選型 框架: React 路由: React-Router 4 狀態(tài)管...

    DC_er 評論0 收藏0
  • 從零開始,揭秘React服務(wù)端渲染核心技術(shù)

    摘要:不過這時的控制臺會拋出這樣一則警告提醒我們在服務(wù)端渲染時用來取代,并警告我們在時將不能用去混合服務(wù)端渲染出來的標簽。綜上所述,服務(wù)端和客戶端都是需要路由體現(xiàn)的。我們畫一下重點,意思很明確,就是為了服務(wù)端渲染而打造的。 拋磚引玉 在早幾年前,jquery算是一個前端工程師必備的技能。當(dāng)時很多公司采用的是java結(jié)合像velocity或者freemarker這種模板引擎的開發(fā)模式,頁面渲染...

    googollee 評論0 收藏0
  • JavaScript 就要統(tǒng)治世界了?

    摘要:歡迎使用中文文檔架構(gòu)概覽是網(wǎng)易項目團隊開發(fā)的一個基于進行開發(fā)的應(yīng)用層框架,提供了一個輕量級的容器來編寫簡單可維護的。 JavaScript 可以……嘛,不就是操作一下 DOM,可以讓元素飛來飛去嗎JavaScript 是……不就是用 jQuery 讓網(wǎng)頁動起來,頂多就是再用用 Ajax 和后端進行一下數(shù)據(jù)交換嗎JavaScript 是一門……最討厭和鄙視這種弱類型不需要編譯的腳本語言...

    AbnerMing 評論0 收藏0
  • react-redux-express異步前后端數(shù)據(jù)交互(面向初學(xué)者,高手勿進)

    摘要:花了整整三天的時間來解決一個非常非常小的問題想要把一點心得體會記錄下來首先是問題的提出前端如果是后端是如何進行數(shù)據(jù)的交互總體思路以前接觸的時候前端模板用的是那時候就有些不理解的地方最為不理解的幾個問題是前端和后端怎么配合特別是前端特別復(fù)雜的 花了整整三天的時間來解決一個非常非常小的問題.想要把一點心得體會記錄下來.首先是問題的提出:前端如果是react,后端是express,如何進行數(shù)...

    KaltZK 評論0 收藏0
  • 專治前端焦慮的學(xué)習(xí)方案

    摘要:不過今天我希望能夠更進一步,不僅僅再抱怨現(xiàn)狀,而是從我個人的角度來給出一個逐步深入學(xué)習(xí)生態(tài)圈的方案。最后,我還是想提到下對于的好的學(xué)習(xí)方法就是回顧參照各種各樣的代碼庫,學(xué)習(xí)人家的用法與實踐。 本文翻譯自A-Study-Plan-To-Cure-JavaScript-Fatigue。筆者看到里面的幾張配圖著實漂亮,順手翻譯了一波。本文從屬于筆者的Web Frontend Introduc...

    codeGoogle 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<