Skip to content

Commit fadd3a9

Browse files
fix(overmind-vue): track state from connect
1 parent 467ac5a commit fadd3a9

File tree

1 file changed

+15
-3
lines changed
  • packages/node_modules/overmind-vue/src

1 file changed

+15
-3
lines changed

packages/node_modules/overmind-vue/src/index.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const IS_PRODUCTION = process.env.NODE_ENV === 'production'
55

66
let nextComponentId = 0
77

8-
function createMixin(overmind, propsCallback) {
8+
function createMixin(overmind, propsCallback, trackPropsCallback = false) {
99
const componentId = nextComponentId++
1010
let componentInstanceId = 0
1111

@@ -48,6 +48,8 @@ function createMixin(overmind, propsCallback) {
4848
reaction: overmind.reaction,
4949
}
5050

51+
this[OVERMIND].tree.track(this[OVERMIND].onUpdate)
52+
5153
if (propsCallback) {
5254
Object.assign(
5355
this,
@@ -58,13 +60,23 @@ function createMixin(overmind, propsCallback) {
5860
})
5961
)
6062
}
61-
this[OVERMIND].tree.track(this[OVERMIND].onUpdate)
6263
}
6364
},
6465
beforeUpdate(this: any) {
6566
if (overmind.mode.mode === MODE_SSR) return
6667

6768
this[OVERMIND].tree.track(this[OVERMIND].onUpdate)
69+
70+
if (propsCallback && trackPropsCallback) {
71+
Object.assign(
72+
this,
73+
propsCallback({
74+
state: this[OVERMIND].tree.state,
75+
actions: overmind.actions,
76+
effects: overmind.effects,
77+
})
78+
)
79+
}
6880
},
6981
...(IS_PRODUCTION
7082
? {
@@ -144,7 +156,7 @@ export const createConnect = (overmind) => (...args) => {
144156
return {
145157
...options,
146158
mixins: (options.mixins ? options.mixins : []).concat(
147-
createMixin(overmind, propsCallback)
159+
createMixin(overmind, propsCallback, true)
148160
),
149161
overmind,
150162
} as any

0 commit comments

Comments
 (0)