jaming
發布於 2021-07-05
primitive and flexible state management for react引用官方原話,
jotai
是乙個原始且靈活的react
狀態管理庫
同時,我認為jotai
稱得上是乙個小巧、簡潔且高效能的狀態管理庫
jotai
可以看作是recoil
的簡化版,使用了atom
+hook
+context
,用於解決 react 全域性資料流管理的問題
atom
是jotai
中狀態管理單位,它是可以更新和訂閱的,當atom
被更新時,訂閱了這個atom
的元件便會使用新值重新渲染
並且,更新對應的atom
只會重新渲染訂閱了這個atom
的元件,並不會像context
那樣導致整個父元件重新渲染,所以可以做到精確渲染
jotai
和recoil
概念很相似,都是採用分散管理原子狀態的設計模式
所以在用法上也比較相似,但相比之下,還有以下優點
npm install jotai乙個
atom
代表乙個狀態
使用atom
函式可以建立乙個atom
,需要傳入乙個引數,用來指定初始值,值可以是字串、數字、物件、陣列等
import from "jotai";const valueatom = atom(0);
useatom
函式接受乙個引數,引數值為 乙個atom
返回值是乙個陣列
陣列第乙個值是atom
儲存的值,第二個值是更新atom
值的函式
import from "jotai";const component = () =>
import from "jotai";// 定義乙個atom,並給定預設值0
const valueatom = atom(0);
// 顯示區域
const text = () => div>;
};// 按鈕區域
const button = () => ;
const dec = () => ;
const reset = () => ;
return (
+button>
-button>
resetbutton>
div>
);};export default () => ;
如果你覺得
redux
心智負擔太重,用起來太繁瑣,想要乙個輕量,容易使用且效能不錯的狀態管理庫,那就試試看jotai
吧
高效能,大資料量儲存方案SqlBulkCopy
原文 高效能,大資料量儲存方案sqlbulkcopy 前些日子,公司要求做乙個資料匯入程式,要求將excel資料,大批量的匯入到資料庫中,盡量少的訪問資料庫,高效能的對資料庫進行儲存。於是在網上進行查詢,發現了乙個比較好的解決方案,就是採用sqlbulkcopy來處理儲存資料。sqlbulkcopy...
高效能的OkHttp
預設情況下,okhttp並沒有將包含cache control頭部檔案的響應進行快取。因此你的客戶端可能會浪費時間與頻寬去重複請求相同的資源,而不是簡單地讀取初次請求時候的快取副本。為了保證基於檔案系統的響應快取,應該配置乙個com.squareup.okhttp.cache例項並且把它傳遞給okh...
高效能的CSS
高效能的css 即 檔案載入更快,執行的速度更快,讓頁面盡快地展現在終端使用者的面前。1 使用高效地css選擇器 能被瀏覽器快速解析和匹配的css選擇器就是高效地選擇器。css選擇器的匹配原理和我們習慣的匹配過程是相反的,它是從右到左進行匹配的。高效的選擇器意味著瀏覽器匹配選擇器時更快速,匹配查詢次...