getInitialState

Returns the initial state of a reducer.

// JavaScript
function getInitialState(reducer)
// TypeScript
function getInitialState<S>(reducer: Reducer<S>): S

Details

getInitialState asks the passed reducer for its initial state by calling it with an undefined state and a dummy action, just as a Redux store would.

This helper is mainly intended for tests, where it can help improve readabilty. For example, when making assertions about a reducer's initial state, getInitialState(reducer) is more expressive than something like reducer(undefined, { type: '' }).

Examples

Basic usage:

import { getInitialState } from 'redux-preboiled'
const reducer = (state = 0, action) =>
action.type === 'increment' ? state + 1 : state
getInitialState(reducer)
// => 0

Usage in Jest:

import { getInitialState } from 'redux-preboiled'
const reducer = (state = 0, action) =>
action.type === 'increment' ? state + 1 : state
test('initial state is 0', () => {
expect(getInitialState(reducer)).toBe(0);
})

See Also