Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 1.02 KB

oninitialize.md

File metadata and controls

45 lines (34 loc) · 1.02 KB

onInitialize

If you need to run logic as the application initializes you can use the onInitialize hook. This is defined as an action and it receives the application instance as the input value. You can do whatever you want here. Set initial state, run an action, configure a router etc.

{% tabs %} {% tab title="overmind/onInitialize.ts" %}

import { OnInitialize } from 'overmind'

export const onInitialize: OnInitialize = async ({
  state,
  actions,
  effects
}, overmind) => {
  const initialData = await effects.api.getInitialData()
  state.initialData = initialData
}

{% endtab %}

{% tab title="overmind/index.ts" %}

import { IConfig } from 'overmind'
import { onInitialize } from './onInitialize'
import { state } from './state'
import * as actions from './actions'

export const config = {
  onInitialize,
  state,
  actions
}

// For explicit typing check the Typescript guide
declare module 'overmind' {
  interface Config extends IConfig<typeof config> {}
}

{% endtab %} {% endtabs %}