public | ||
src | ||
.gitignore | ||
default.conf.template | ||
docker-compose.yaml | ||
Dockerfile | ||
index.html | ||
package.json | ||
README.md | ||
tsconfig.json | ||
tsconfig.node.json | ||
vite.config.ts | ||
yarn.lock |
.
MobX-react
yarn add mobx mobx-react-lite
- makeAutoObserver
export class Bill {
bills: IBill[] = []; // state
constructor() {
makeAutoObservable(this) // makeAutoObservable
}
get list() { // 计算属性computed, 缓存结果
return this.bills;
}
add(bill: IBill) { // action修改状态
this.bills.push(bill);
}
async fetch() {
runInAction(() => { // runInAction 异步修改状态
this.bills.push({
date: Date.now().toString(),
money: 123,
cls: "test",
label: "test",
})
})
}
}
- observer
observer 包裹函数式组件, 状态更新时自动刷新组件
const Home = observer(() => {...})