原创 Redux 的簡單實現

什麼是 Redux Redux 是 JavaScript 的狀態容器,提供可預測化的管理,可以讓你構建一致化的應用,運行與不同的環境(客戶端、服務器、原生應用),並且易於測試。(個人理解:Redux 和 Vuex 很像) 優點:

原创 JavaScript 數據結構與算法(二)

雙向鏈表 特點: 可以使用一個 head 和一個 tail 分別指向頭部和尾部的節點 每個節點都有三部分組成:前一個節點指針(prev)/保存的元素(item)/後一個節點的指針(next) 雙向鏈表的第一個節點的 prev

原创 js 中的組合模式

什麼是組合模式 其實在上面一篇博客中提到過一個宏命令,而這個宏命令和組合模式比較像。成一組子命令,形成一顆樹型的結構(暫且這樣理解),只不過組合模式更加複雜而已。 圖解: 注意: 組合模式不是父子關係,而是一種聚合的關係。組合

原创 React-Navigation (RN 的路由)採坑總結

注意: React-navigation 4.x 將 createStackNavigator 等組件放到 react-navigation-stack 中,createBottomTabNavigator 等導航欄放到了 rea

原创 基於 TS 實現 axios(八)

這一章主要完善接口 目錄結構沒有進行修改 withCredentials 這個功能是可以攜帶跨越請求的,默認情況下是自動攜帶同源 cookie 的 ,但是跨域的時候是不可以進行攜帶的,將 withCredentials 設置成 t

原创 RN 中使用 React-Redux

在 RN 中如何使用 React-Redux 其實,在 RN 中使用 React-Redux 和 React 中類似,可以說一模一樣 都是在根元素中使用,<Provider>來包裹根組件,導入 store,將 store 掛載在

原创 TypeScript 語法學習(二)

類 介紹 從 ES6 開始,JS 程序員將能夠使用基於類的面向對象的方式。 使用TypeScript,我們允許開發者現在就使用這些特性,並且編譯後的 JS 可以在所有主流瀏覽器和平臺上運行,而不需要等到下個 JS 版本。 使用 c

原创 RN中結合Animated封裝一個簡單的Toast組件

直接上代碼 import React, {Component} from 'react'; import {StyleSheet, Dimensions, Animated, Easing} from 'react-native'

原创 基於 TS 實現 axios(九)

這一章是最後一章,主要是進行單元測試。 jest 什麼是 jest jest 是 Facebook 弄出來的一個 JavaScript 的測試框架,這個是很好用的。 我把的它的官網地址放在了這裏:https://jestjs.io

原创 TypeScript 語法學習(一)

TypeScript 是 JavaScript 的超集 安裝 npm i typescript -g 使用 tsc xx.ts文件路徑 輸出文件路徑 數據類型 TypeScript 包含 JavaScript 的類型,加了

原创 基於 TS 實現 axios(七)

這一章節,主要是寫取消請求 目錄: 取消請求 有些場景下,我們希望能主動取消請求,比如常見的搜索框案例,在用戶輸入過程中,搜索框的內容也在不斷變化,正常情況每次變化都應該向服務器發送一次請求,但在當用用戶輸入過快的時候,我們不希

原创 深入學習webpack 4.x核心用法及其源碼(五)

自己編寫一個 Loader 目錄結構: 我在 loaders 目錄下寫了一個 replaceLoader.js 的文件,代碼如下: module.exports = function(source) { return s

原创 基於 TS 實現 axios(六)

這一章主要實現一些配置化,讓用戶可以進行配置 默認配置 transformRequest 和 transformResponse axios.create API 目錄: 默認配置 添加 defaults.ts : impo

原创 基於 TS 實現 axios(五)

今天這一章節主要介紹 攔截器 目錄結構: 攔截器 先問什麼是攔截器? 可以從字面意思理解大概就是攔截數據,主要運用在發起請求前或請求返回數據後對數據進行處理,可以運用在登錄、處理一些格式化數據之類的。 按照請求的時間不同分爲:請

原创 基於 TS 實現 axios(四)

這一章主要實現接口的擴展 接口擴展 目錄結構: core 目錄: core 中的都是一些核心代碼 Axios.ts 這個是新加的類,擴展接口,可以向 axios,axios.get,axios.post 那樣使用 import