輕量且高效能的 React 狀態管理庫 Jotai

2022-09-23 03:57:09 字數 1599 閱讀 4697

jaming

發布於 2021-07-05

primitive and flexible state management for react
引用官方原話,jotai是乙個原始且靈活的react狀態管理庫

同時,我認為jotai稱得上是乙個小巧、簡潔且高效能的狀態管理庫

jotai可以看作是recoil的簡化版,使用了atom+hook+context,用於解決 react 全域性資料流管理的問題

atomjotai中狀態管理單位,它是可以更新和訂閱的,當atom被更新時,訂閱了這個atom的元件便會使用新值重新渲染

並且,更新對應的atom只會重新渲染訂閱了這個atom的元件,並不會像context那樣導致整個父元件重新渲染,所以可以做到精確渲染

jotairecoil概念很相似,都是採用分散管理原子狀態的設計模式

所以在用法上也比較相似,但相比之下,還有以下優點

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選擇器的匹配原理和我們習慣的匹配過程是相反的,它是從右到左進行匹配的。高效的選擇器意味著瀏覽器匹配選擇器時更快速,匹配查詢次...