Redux、rematch、dva的替代品:smox,reduxrematch

背景

我們平時在開發 React 項目中,深深的感受到了 Redux 的“長得丑,用得煩”,有的人去改造它,如 dva、rematch,對 Redux 包裝語法糖,也有如 smox ,直接重熔再生,完全擺脫 Redux 的局限的同時,還能擁抱“新特性”

rematch 作者文章里提到,工具質量 = 工具節省的時間 / 使用工具消耗的時間

我們接下來就用這個公式,感受下 smox 的工具質量

簡化 API

值得一提,smox 的 API 是和 vuex 一致的,vuex 是一個我認為 API 最好用的狀態管理,盡管 vue 被 react 用戶所排斥,但是我還是做不到一昧地否定,好就就是好嘛

所以 smox 汲取 vuex 的優點,API 變成了下面的樣子:

import React from 'react' import ReactDOM from 'react-dom' import App from './app.js' import { Store, Provider } from 'smox' const state = {
 count: 2
}

const actions = {
 asyncAdd({ commit }) {
 setTimeout(() => {
 commit('add')
 }, 1000)
 }
}

const mutations = {
 add(state) {
 state.count += 1
 },
 cut(state) {
 state.count -= 1
 }
}

const store = new Store({ state, mutations, actions })

ReactDOM.render(
 ,
 document.getElementById('root')
)
復制代碼

感受下,寫過 vue 的是不是感覺比較順眼了呢

事實上,dva、rematch 的 API 也是幾乎相同的,只不過 smox 的 mutations 對應它們的 reducers,actions 對應 effects

那幾乎相同的 API,到底有什么不同呢?

簡單的和 rematch 對比

我們看一下 rematch 的吧:

 add(state, payload) {
 return state + payload
 }
復制代碼

它將 state 作為參數傳進來,但是 return 的時候改變了參數,這就不是一個純函數,我們需要手動去優化性能

而 smox 卻 使用了 Proxy 的方式,進行對象劫持,不需要 return ,能夠精準的劫持變化

 add(state, payload) {
 state.count += payload
 }
復制代碼

從這個機制上看,很明顯 smox 的方向是對的

除此之外,rematch 還存在好幾個問題,比如 無法擺脫 action type 的局限,沒有對 connect 進行封裝等等

至于 dva ,其實我沒仔細研究過它的源碼,但是它不能算是一個工具,而是一個框架,我個人不提倡這種的啦~

以上,通過簡單的 smox 和 rematch 的對比,直白的感受 smox

除了使用 Proxy 這個新 API 以外,smox 還使用了 New Context API ,這個在 smox 最初就使用了,當時 react16.3 還沒有發布√

再比如體積小,還是 rematch ,如果使用它,仍然需要下載 redux 、react-redux 等庫,體積是比較臃腫的,但是 smox 完全拋棄 redux,gzipped 1KB

仍需改進

smox 接下來還會進行大版本的改進,比如增加中間件機制

總結

我們在回顧一下公式:工具質量 = 工具節省的時間 / 使用工具消耗的時間

判斷下……

最后附上 smox 的 GitHub 地址: https://github.com/132yse/smox

求 star、求 bug、求 issue、求 pr

然后文檔地址: https://smox.js.org/


原文發布時間:06月26日

原文作者:132

本文來源掘金如需轉載請緊急聯系作者

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 国产三级在线观看播放| 天天摸天天摸色综合舒服网| 哒哒哒免费视频观看在线www| 中国大白屁股ass| 精品亚洲视频在线| 好男人视频社区www在线观看| 亚洲精品自产拍在线观看| 香蕉视频黄在线观看| 日韩精品成人一区二区三区| 国产中文字幕乱人伦在线观看| 一级毛片免费一级直接观看| 激情五月婷婷久久| 国产福利在线观看你懂的| 久久免费视频网| 精品久久伦理中文字幕| 国产色无码专区在线观看| 乱色精品无码一区二区国产盗| 色国产在线观看| 在线视频你懂的国产福利| 亚洲av日韩综合一区二区三区 | 中文字幕电影在线观看| 男人边吃奶边爱边做视频国产| 国产综合久久久久久鬼色| 久久精品女人天堂av免费观看| 美村妇真湿夹得我好爽| 在线看片中文字幕| 久久精品国产亚洲精品| 精品人妻VA出轨中文字幕| 国产精品美女久久久久| 久久久久久曰本av免费免费| 狠狠躁夜夜躁人人爽超碰97香蕉| 国产福利在线导航| 中文字字幕在线高清免费电影| 正能量网站不用下载免费观看视频软件 | 国产在线观看精品一区二区三区91| 三年片免费高清版| 欧美怡红院免费全部视频| 国产三级一区二区三区| 94久久国产乱子伦精品免费| 日本最新免费二区三区| 亚洲精品无码专区在线播放|