diff --git a/CHANGELOG.md b/CHANGELOG.md index 39f318b..701b24d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ -## v3 +## [3.0.0](https://github.com/foca-js/foca/compare/v2.0.1...v3.0.0)  (2023-10-08) ### 破坏性更新 - 删除hooks函数 `useDefined` -- 删除模型`onDestroy`事件钩子 +- 删除模型内`onDestroy`事件钩子 - 删除持久化`maxAge`配置 ```diff diff --git a/docs/model.md b/docs/model.md index f8adf9c..9bd575b 100644 --- a/docs/model.md +++ b/docs/model.md @@ -230,21 +230,6 @@ userModel.profile(123); // 实例2缓存 --- -也可以尝试一下在React组件中用`useComputed`这个hooks函数接入计算属性: - -```tsx -import { FC } from 'react'; -import { useComputed } from 'foca'; - -const App: FC = () => { - const fullName = useComputed(userModel.fullName); // string - // 这里会有TS提示你应该传几个参数,以及参数类型 - const profile = useComputed(useModel.profile, 30, 'my-address'); // string - - return

Profile: {profile}

; -}; -``` - 缓存什么时候才会更新?框架自动收集依赖,只有其中某个依赖更新了,计算属性才会更新。上面的例子中,当`firstName`或者`lastName`有变化时,fullName 将被标记为`dirty`状态,下一次访问则会重新计算结果。而当`country`变化时,不影响 fullName 的结果,下一次访问仍使用缓存作为结果。 !> 可以在 computed 中使用其它 model 的数据。 diff --git a/docs/react.md b/docs/react.md index a935307..90ce1cb 100644 --- a/docs/react.md +++ b/docs/react.md @@ -107,12 +107,17 @@ const userModel = defineModel('user', { fullName() { return this.state.firstName + '.' + this.state.lastName; }, + profile(state, age: number) { + return this.fullName() + '-' + age; + }, }, }); const App: FC = () => { // 只有当 firstName 或者 lastName 变化,才会重新刷新该组件 const fullName = useComputed(userModel.fullName); + // 这里会有TS提示你应该传几个参数,以及参数类型 + const profile = useComputed(userModel.profile, 24); return
{fullName}
; }; diff --git a/package.json b/package.json index 4ad6e33..8ee9317 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "foca", - "version": "2.0.1", + "version": "3.0.0", "repository": "git@github.com:foca-js/foca.git", "homepage": "https://foca.js.org", "keywords": [