File tree Expand file tree Collapse file tree 1 file changed +14
-6
lines changed Expand file tree Collapse file tree 1 file changed +14
-6
lines changed Original file line number Diff line number Diff line change @@ -514,12 +514,20 @@ export function createSlice<
514
514
for ( const [ name , selector ] of Object . entries (
515
515
options . selectors ?? { }
516
516
) ) {
517
- cached [ name ] = ( rootState : any , ...args : any [ ] ) =>
518
- selector (
519
- selectState ( rootState ) ??
520
- ( this !== slice ? this . getInitialState ( ) : ( undefined as any ) ) ,
521
- ...args
522
- )
517
+ cached [ name ] = ( rootState : any , ...args : any [ ] ) => {
518
+ let sliceState = selectState ( rootState )
519
+ if ( typeof sliceState === 'undefined' ) {
520
+ // check if injectInto has been called
521
+ if ( this !== slice ) {
522
+ sliceState = this . getInitialState ( )
523
+ } else {
524
+ throw new Error (
525
+ 'selectState returned undefined for an uninjected slice reducer'
526
+ )
527
+ }
528
+ }
529
+ return selector ( sliceState , ...args )
530
+ }
523
531
}
524
532
selectorCache . set ( selectState , cached )
525
533
}
You can’t perform that action at this time.
0 commit comments