Skip to content

Commit 4bdb8ac

Browse files
authored
Merge pull request #4634 from reduxjs/preloaded-state-partial
2 parents cfc3145 + ebbb4fc commit 4bdb8ac

File tree

1 file changed

+14
-36
lines changed

1 file changed

+14
-36
lines changed

docs/usage/WritingTests.mdx

Lines changed: 14 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -144,17 +144,13 @@ const userSlice = createSlice({
144144
})
145145
export default userSlice.reducer
146146
// file: app/store.ts
147-
import {
148-
combineReducers,
149-
configureStore,
150-
PreloadedState
151-
} from '@reduxjs/toolkit'
147+
import { combineReducers, configureStore } from '@reduxjs/toolkit'
152148
import userReducer from '../features/users/userSlice'
153149
// Create the root reducer independently to obtain the RootState type
154150
const rootReducer = combineReducers({
155151
user: userReducer
156152
})
157-
export function setupStore(preloadedState?: PreloadedState<RootState>) {
153+
export function setupStore(preloadedState?: Partial<RootState>) {
158154
return configureStore({
159155
reducer: rootReducer,
160156
preloadedState
@@ -178,16 +174,12 @@ const userSlice = createSlice({
178174
})
179175
export default userSlice.reducer
180176
// file: app/store.ts noEmit
181-
import {
182-
combineReducers,
183-
configureStore,
184-
PreloadedState
185-
} from '@reduxjs/toolkit'
177+
import { combineReducers, configureStore } from '@reduxjs/toolkit'
186178
import userReducer from '../features/users/userSlice'
187179
const rootReducer = combineReducers({
188180
user: userReducer
189181
})
190-
export function setupStore(preloadedState?: PreloadedState<RootState>) {
182+
export function setupStore(preloadedState?: Partial<RootState>) {
191183
return configureStore({
192184
reducer: rootReducer,
193185
preloadedState
@@ -212,16 +204,12 @@ export const userAPI = {
212204
})
213205
}
214206
// file: app/store.ts noEmit
215-
import {
216-
combineReducers,
217-
configureStore,
218-
PreloadedState
219-
} from '@reduxjs/toolkit'
207+
import { combineReducers, configureStore } from '@reduxjs/toolkit'
220208
import userReducer from '../features/users/userSlice'
221209
const rootReducer = combineReducers({
222210
user: userReducer
223211
})
224-
export function setupStore(preloadedState?: PreloadedState<RootState>) {
212+
export function setupStore(preloadedState?: Partial<RootState>) {
225213
return configureStore({
226214
reducer: rootReducer,
227215
preloadedState
@@ -328,16 +316,12 @@ const userSlice = createSlice({
328316
})
329317
export default userSlice.reducer
330318
// file: app/store.ts noEmit
331-
import {
332-
combineReducers,
333-
configureStore,
334-
PreloadedState
335-
} from '@reduxjs/toolkit'
319+
import { combineReducers, configureStore } from '@reduxjs/toolkit'
336320
import userReducer from '../features/users/userSlice'
337321
const rootReducer = combineReducers({
338322
user: userReducer
339323
})
340-
export function setupStore(preloadedState?: PreloadedState<RootState>) {
324+
export function setupStore(preloadedState?: Partial<RootState>) {
341325
return configureStore({
342326
reducer: rootReducer,
343327
preloadedState
@@ -350,7 +334,6 @@ import React, { PropsWithChildren } from 'react'
350334
import { render } from '@testing-library/react'
351335
import type { RenderOptions } from '@testing-library/react'
352336
import { configureStore } from '@reduxjs/toolkit'
353-
import type { PreloadedState } from '@reduxjs/toolkit'
354337
import { Provider } from 'react-redux'
355338

356339
import type { AppStore, RootState } from '../app/store'
@@ -360,7 +343,7 @@ import userReducer from '../features/users/userSlice'
360343
// This type interface extends the default options for render from RTL, as well
361344
// as allows the user to specify other things such as initialState, store.
362345
interface ExtendedRenderOptions extends Omit<RenderOptions, 'queries'> {
363-
preloadedState?: PreloadedState<RootState>
346+
preloadedState?: Partial<RootState>
364347
store?: AppStore
365348
}
366349

@@ -398,7 +381,6 @@ const userSlice = createSlice({
398381
export default userSlice.reducer
399382
// file: app/store.ts
400383
import { combineReducers, configureStore } from '@reduxjs/toolkit'
401-
import type { PreloadedState } from '@reduxjs/toolkit'
402384

403385
import userReducer from '../features/users/userSlice'
404386

@@ -407,7 +389,7 @@ const rootReducer = combineReducers({
407389
user: userReducer
408390
})
409391

410-
export const setupStore = (preloadedState?: PreloadedState<RootState>) => {
392+
export const setupStore = (preloadedState?: Partial<RootState>) => {
411393
return configureStore({
412394
reducer: rootReducer,
413395
preloadedState
@@ -435,15 +417,14 @@ const userSlice = createSlice({
435417
export default userSlice.reducer
436418
// file: app/store.ts noEmit
437419
import { combineReducers, configureStore } from '@reduxjs/toolkit'
438-
import type { PreloadedState } from '@reduxjs/toolkit'
439420

440421
import userReducer from '../features/users/userSlice'
441422

442423
const rootReducer = combineReducers({
443424
user: userReducer
444425
})
445426

446-
export const setupStore = (preloadedState?: PreloadedState<RootState>) => {
427+
export const setupStore = (preloadedState?: Partial<RootState>) => {
447428
return configureStore({
448429
reducer: rootReducer,
449430
preloadedState
@@ -457,7 +438,6 @@ export type AppDispatch = AppStore['dispatch']
457438
import React, { PropsWithChildren } from 'react'
458439
import { render } from '@testing-library/react'
459440
import type { RenderOptions } from '@testing-library/react'
460-
import type { PreloadedState } from '@reduxjs/toolkit'
461441
import { Provider } from 'react-redux'
462442

463443
import { setupStore } from '../app/store'
@@ -466,7 +446,7 @@ import type { AppStore, RootState } from '../app/store'
466446
// This type interface extends the default options for render from RTL, as well
467447
// as allows the user to specify other things such as initialState, store.
468448
interface ExtendedRenderOptions extends Omit<RenderOptions, 'queries'> {
469-
preloadedState?: PreloadedState<RootState>
449+
preloadedState?: Partial<RootState>
470450
store?: AppStore
471451
}
472452

@@ -508,15 +488,14 @@ export const selectUserFetchStatus = (state: RootState) => state.user.status
508488
export default userSlice.reducer
509489
// file: app/store.ts noEmit
510490
import { combineReducers, configureStore } from '@reduxjs/toolkit'
511-
import type { PreloadedState } from '@reduxjs/toolkit'
512491

513492
import userReducer from '../features/users/userSlice'
514493

515494
const rootReducer = combineReducers({
516495
user: userReducer
517496
})
518497

519-
export const setupStore = (preloadedState?: PreloadedState<RootState>) => {
498+
export const setupStore = (preloadedState?: Partial<RootState>) => {
520499
return configureStore({
521500
reducer: rootReducer,
522501
preloadedState
@@ -530,14 +509,13 @@ export type AppDispatch = AppStore['dispatch']
530509
import React, { PropsWithChildren } from 'react'
531510
import { render } from '@testing-library/react'
532511
import type { RenderOptions } from '@testing-library/react'
533-
import type { PreloadedState } from '@reduxjs/toolkit'
534512
import { Provider } from 'react-redux'
535513

536514
import { setupStore } from '../app/store'
537515
import type { AppStore, RootState } from '../app/store'
538516

539517
interface ExtendedRenderOptions extends Omit<RenderOptions, 'queries'> {
540-
preloadedState?: PreloadedState<RootState>
518+
preloadedState?: Partial<RootState>
541519
store?: AppStore
542520
}
543521

0 commit comments

Comments
 (0)