@@ -23,7 +23,7 @@ Library for integration [MVVM](https://en.wikipedia.org/wiki/Model%E2%80%93view%
2323## Documentation is [ here] ( https://js2me.github.io/mobx-view-model/ )
2424
2525
26- _ with HOC _
26+ _ React's HOC approach _
2727``` tsx
2828import { withViewModel , ViewModelBase , ViewModelProps } from " mobx-view-model" ;
2929import { observer } from " mobx-react-lite" ;
@@ -45,21 +45,21 @@ class UserBadgeVM extends ViewModelBase<{ userId: Maybe<string> }> {
4545 }
4646}
4747
48- const UserBadgeView = observer (({ model }: ViewModelProps <UserBadgeVM >) => (
48+ ...
49+
50+ export const UserBadge = withViewModel (UserBadgeVM , ({ model }) => (
4951 <div className = { ' size-4 bg-[green]' } >
5052 <h3 >{ model .user ?.fullName } </h3 >
5153 { model .isAdmin && <span >admin</span >}
5254 </div >
53- ))
54-
55- export const UserBadge = withViewModel (UserBadgeVM )(UserBadgeView );
56- // export const UserBadge = withViewModel(UserBadgeVM, UserBadgeView);
55+ ));
5756
57+ ...
5858
59- // <UserBadge payload={{ userId: '1' }}>
59+ <UserBadge payload = { { userId: ' 1' }} / >
6060```
6161
62- _ with hook _
62+ _ React's hook approach _
6363``` tsx
6464import { ViewModelBase , ViewModelPayload , useCreateViewModel } from " mobx-view-model" ;
6565import { observer } from " mobx-react-lite" ;
@@ -81,6 +81,8 @@ class UserBadgeVM extends ViewModelBase<{ userId: Maybe<string> }> {
8181 }
8282}
8383
84+ ...
85+
8486export const UserBadge = observer (({ userId }: ViewModelPayload <UserBadgeVM >) => {
8587 const model = useCreateViewModel (UserBadgeVM , { userId });
8688
@@ -92,8 +94,9 @@ export const UserBadge = observer(({ userId }: ViewModelPayload<UserBadgeVM>) =>
9294 )
9395})
9496
97+ ...
9598
96- // <UserBadge payload={{ userId: '1' }}>
99+ <UserBadge payload = { { userId: ' 1' }} / >
97100```
98101
99102## Contribution Guide
0 commit comments