@@ -5,7 +5,7 @@ const IS_PRODUCTION = process.env.NODE_ENV === 'production'
55
66let 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