摘要:說到狀態管理,必提的肯定是與,年快過去了,它們依然是最火熱的狀態管理工具,也有一些基于的,如等,也有新的,如,這里不對各個解決方案作評價。
說到 React 狀態管理,必提的肯定是 Redux 與 MobX,2018 年快過去了,它們依然是最火熱的狀態管理工具,也有一些基于 Redux 的,如 dva、rematch 等,也有新的,如 mobx-state-tree,這里不對各個解決方案作評價。
但還是想吐槽:
什么 provider, connections, actions, reducers, effects, dispatch, put, call, payload, @observable, @computed, @observer, @inject...
一堆模板代碼、各種概念、什么哲學原則... 還有各種多如牛毛的 Api。
我只是想早點碼完頁面下班,早點下班健身、陪妹子...
所以,我想要這樣的一個狀態管理庫:
輕量 個人做移動端開發比較多
簡潔 沒模板代碼, 盡量少的 Api
符合直覺 沒復雜的概念, 給個 action 改 state 就好
清晰 更易寫出可維護和可讀性好的代碼
高效 更高的開發效率,這很重要
Typescript state 和 action 高度支持智能提示
我是個實用主義者,開發效率、代碼可維護性和可讀性、開發體驗大于各種什么范式、各種理論,也不需要裝純,重要的是可以快速處理業務,產生價值,早點下班打王者。
有一天,我看到了 mobx 作者的 immer, 我感覺使用 immer, 可以實現一個我理想中的狀態管理工具,所以就造了一個輪子,叫 stamen, 他有什么特點呢,Show you the code: stamen。
如果有什么核心特點的話,那應該是 "簡潔",這里指的是使用者寫代碼時簡潔,可以專注于業務,而不是自身源代碼簡潔,把問題留給使用者。
CodeSandbox上的例子: Basic | Async
用法比較簡單:
import React from "react"; import { render } from "react-dom"; import { createStore } from "stamen"; const { consume, mutate } = createStore({ count: 1 }); const App = () => ({consume(state => state.count)}); render(, document.getElementById("root"));
只有 state 和 action ,沒有其它概念,只有一個 api:
const { consume, mutate } = createStore({ count: 1 });
Stamen 代碼實現只有40行,對于大部分項目來說,這40行代碼所包含的功能已然足夠。
更多用法可以看:
Github: https://github.com/forsigner/...
文檔: http://forsigner.com/stamen-z...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/98128.html
摘要:接上一篇我理想中的狀態管理工具之前說,對于我個人來而言,理想的狀態管理工具只需同時滿足兩個特點簡單易用,并且適合中大型項目完美地支持未能找到一個完美滿足這兩點的,所以我決定自己造了一個叫。把分為和兩類是很好的實踐。 接上一篇:我理想中的狀態管理工具 之前說,對于我個人來而言,理想的狀態管理工具只需同時滿足兩個特點: 簡單易用,并且適合中大型項目 完美地支持 Typescript 未...
摘要:現已存在許多成熟的狀態管理解決方案,還有基于的但對于我個人來說,理想的狀態管理工具只需同時滿足兩個特點簡單易用,并且適合中大型項目完美地支持要做到這兩點其實并不簡單。所以我決定自己造一個可能是基于和最好的狀態管理工具 現已存在許多成熟的狀態管理解決方案:Redux、Mobx、Mobx-state-tree,還有基于 Redux 的 Dva.js、Rematch... 但對于我個人來說,...
摘要:譯者按最近依舊如火如荼相信大家都躍躍欲試我們團隊也開始在領域有所嘗試年應該是逐漸走向成熟的一年讓我們一起來看看國外的開發者們都總結了哪些最佳實踐年在全世界都有很多關于新的更新和開發者大會的討論關于去年的重要事件請參考那么年最有趣的問題來了我 譯者按:最近React(web/native)依舊如火如荼,相信大家都躍躍欲試,我們團隊也開始在React領域有所嘗試. 2016年應該是Reac...
摘要:異步數據管理一直是前端的一個重點和難點,可以這么說,的應用會有異步數請求據并在中消費,并且在相當多的應用中,處理異步數據是它的核心業務邏輯。總結個人認為,異步數據不應該使用狀態管理來維護,應該放在組件內。 異步數據管理一直是前端的一個重點和難點,可以這么說,80%的 web 應用會有異步數請求據并在 UI 中消費,并且在相當多的 web 應用中,處理異步數據是它的核心業務邏輯。 在 R...
閱讀 1859·2021-09-22 15:29
閱讀 3351·2019-08-30 15:44
閱讀 3558·2019-08-30 15:43
閱讀 1763·2019-08-30 13:48
閱讀 1489·2019-08-29 13:56
閱讀 2474·2019-08-29 12:12
閱讀 965·2019-08-26 11:35
閱讀 1053·2019-08-26 10:25