react-tiny-state: 100行代码实现的一个状态管理

React生态里,类似于 pinia 的状态管理
更新于: 2024-01-18 16:37:42
项目主页: https://github.com/afeiship/react-tiny-state

安装

yarn add @jswork/scan-modules @jswork/react-tiny-state

Stores

src/shared/stores on 🌱 master via 🐠 v16.20.0
$ tree
.
└── app.ts

一个示例的 app.ts

export default nx.$defineStore({
  name: "app",
  state: {
    rawTrends: [],
    rawStat: {},
  },
  watch: {},
  actions: {},
});

添加 provider

只展示基本代码,此项目基于 webpack 开发的。

const storeCtx = require.context('./shared/stores', true, /\.ts$/);
const stores = scanWebpack(storeCtx, { modules: '/stores/' });

function App() {
  return (
    <ReactTinyState store={stores}>
      <WrapedApp />
    </ReactTinyState>
  );
}

参考