@@ -186,9 +186,15 @@ export default function connectAdvanced(
186
186
)
187
187
this . selectDerivedProps = makeDerivedPropsSelector ( )
188
188
this . selectChildElement = makeChildElementSelector ( )
189
+ this . isFirstRender = true
189
190
this . renderWrappedComponent = this . renderWrappedComponent . bind ( this )
190
191
}
191
192
193
+ componentDidMount ( ) {
194
+ console . log ( `component ${ wrappedComponentName } did mount` )
195
+ this . isFirstRender = false
196
+ }
197
+
192
198
renderWrappedComponent ( value ) {
193
199
invariant (
194
200
value ,
@@ -197,7 +203,7 @@ export default function connectAdvanced(
197
203
`or pass a custom React context provider to <Provider> and the corresponding ` +
198
204
`React context consumer to ${ displayName } in connect options.`
199
205
)
200
- const { storeState, store } = value
206
+ const { storeState, store, readStoreStateOnFirstRender } = value
201
207
202
208
let wrapperProps = this . props
203
209
let forwardedRef
@@ -207,8 +213,14 @@ export default function connectAdvanced(
207
213
forwardedRef = this . props . forwardedRef
208
214
}
209
215
216
+ let newStoreState = storeState
217
+ if ( readStoreStateOnFirstRender && this . isFirstRender ) {
218
+ console . log ( `recompute state for getting last one on component ${ wrappedComponentName } ` )
219
+ newStoreState = store . getState ( )
220
+ }
221
+
210
222
let derivedProps = this . selectDerivedProps (
211
- storeState ,
223
+ newStoreState ,
212
224
wrapperProps ,
213
225
store
214
226
)
0 commit comments