原创 基於 React 和 Redux 的 API 集成解決方案

在前端開發的過程中,我們可能會花不少的時間去集成 API、與 API 聯調、或者解決 API 變動帶來的問題。如果你也希望減輕這部分負擔,提高團隊的開發效率,那麼這篇文章一定會對你有所幫助。 文章中使用到的技術棧主要有: React 全家

原创 React Hooks 你真的用對了嗎?

從 React Hooks 正式發佈到現在,我一直在項目使用它。但是,在使用 Hooks 的過程中,我也進入了一些誤區,導致寫出來的代碼隱藏 bug 並且難以維護。這篇文章中,我會具體分析這些問題,並總結一些好的實踐,以供大家參考。 問題一

原创 深入剖析瀏覽器緩存策略

前言 在訪問一個網頁時,客戶端會從服務器下載所需的資源。但是有些資源很少發生變動,例如 HTML、JS、CSS、圖片、字體文件等。如果每次加載頁面都從源服務器下載這些資源,不僅會增加獲取資源的時間,也會給服務器帶來一定壓力。因此,重用已獲取

原创 React 測試指南

前端測試金字塔 對於一個 Web 應用來說,理想的測試組合應該包含大量單元測試(unit tests),部分快照測試(snapshot tests),以及少量端到端測試(e2e tests)。參考測試金字塔,我們構建了前端應用的測試金字塔。

原创 用 RxJS 實現 Redux Form

寫在前面的話 看這篇文章之前,你需要掌握的知識: React RxJS (至少需要知道 Subject 是什麼) 背景 form 可以說是 web 開發中的最大的難題之一。跟普通的組件相比,form 具有以下幾個特點: 更多的用

原创 基於 React Redux 的錯誤處理

本文主要分爲以下三個部分: Error 的分類 分步驟詳細講解如何利用 Redux 統一處理 Error 錯誤信息的收集 本文的案例使用的技術棧包括: React,Redux,TypeScript,Axios,Lodash。 Error

原创 BEM命名方式,書寫更優質的HTML

BEM是Block, Element, Modifier。 一種class的命名習慣。在這種CSS方法學中,一個block就是一個component的頂級抽象,例如一個button: .btn { }。這裏的block應該被當作是一個pa

原创 git命令大全

Git 是一個很強大的分佈式版本控制系統。它不但適用於管理大型開源軟件的源代碼,管理私人的文檔和源代碼也有很多優勢。 Git常用操作命令: 1) 遠程倉庫相關命令 檢出倉庫:$ git clone git://github.c

原创 display:inline-block終極解決方案

對於display:inline-block,做項目的時候經常用到,經常出問題,所以在今天,終於下定決心要好好整理下。 衆所周知:inline-block的作用是將對象呈遞爲內聯對象,但是對象的內容作爲塊對象呈遞。旁邊的內聯對象會被呈遞在

原创 The React.js Way: Getting Started Tutorial

2015 4月14-15 JSConf 家族添加了個新成員JsConf Budapest,演講者來自牛逼的公司,例如Spotify,Mozilla還有Essy.用RSTCK_BLOG的優惠券,用折扣價50

原创 翻譯:盤點8種CSS實現垂直居中水平居中的絕對定位居中技術

Ⅰ.絕對定位居中(Absolute Centering)技術 我們經常用margin:0 auto來實現水平居中,而一直認爲margin:auto不能實現垂直居中……實際上,實現垂直居中僅需要聲明元素高度和下面的CSS:

原创 css實現多列高度自適應的方法

你對CSS佈局自適應高度解決方法是否瞭解,這裏和大家分享一下,本文要介紹的方法是採用容器溢出部分隱藏和列的負底邊界和正的內補丁相結合的方法來解決列高度相同的問題。 查看DEMO CSS佈局自適應高度解決方法 這是一個比較典型的三行

原创 The React.js Way系列之 通過使用 Immutable.js 的 Flux 建築結構

這篇文章是”The React.js Way”博客系列的第二部分。如果你對基本的東西不太熟悉,那麼我強烈建議你閱讀第一篇文章FunctionsThe React.js Way: Getting Started Tutorial。 在前一

原创 移動平臺WEB前端開發技巧彙總

您或許正在或準備參與一個WepApp項目,您或許正在Google搜索mobile development相關的文章,您或許是一名專業的WEB前端工程師,您或許想學習Mobile前端開發方面的技術,如果您被我說中了,呵呵那麼這篇文章將爲您

原创 數組去重

Array.prototype.unique3 = function(){ var res = []; var json = {}; for(var i = 0; i < this.