Fold All / Expand All

2016年7月23日 星期六

使用 React 要搭配哪種 AJAX/HTTP library

我們知道 React 本身是專注於 View 的 library,本身沒有包含送 AJAX request 的功能
(謎:用"專注"會比較厲害嗎…)

但是 XMLHttpRequest 這麼難用,要怎麼辦呢

AJAX/HTTP Library Comparison
http://andrewhfarmer.com/ajax-libraries/

React AJAX Best Practices
http://andrewhfarmer.com/react-ajax-best-practices/

這兩篇(其實同一個作者)介紹了可以選擇的 library,以及使用的時機

裡面作者推薦使用 fetch(),這是新的 JavaScript API,目前 Chrome 和 Firefox 已實作,不過 IE 和 Safari 還沒有,所以需要掛 polyfill

Fetch Standard
https://fetch.spec.whatwg.org

相較於用起來很麻煩的 XMLHttpRequest,fetch 的語法簡短許多

不過使用 fetch 也是有些要注意的地方

  1. fetch() 回傳的是 Promise,這也是個新東西,使用起來和傳統的 callback 有些不同,需要學習、熟悉
  2. fetch() 目前沒有辦法 abort,目前還在討論階段 Aborting a fetch

沒有留言: