Skip to content

Chaining actions and waiting for state updates? #86

@SaphuA

Description

@SaphuA

What is the recommended way to chain actions where the second action is dependent on the first action to update the state?

For example. Selecting a country in a dropdown and then fetch a list of cities once one is selected.

This obviously doesn't work.

    selectCountry: (state, actions, country) => {
        actions.readCities();
        return { selectedCountry: country };
    },
    readCities: (state, actions) => {
        state.selectedCountry; // etc...
    }

The workaround I use now is to make country an optional argument of readCities, but I feel this is making the code needlessly complex. Especially with larger/complexer stores/actions.

    selectCountry: (state, actions, country) => {
        actions.readCities(country);
        return { selectedCountry: country };
    },
    readCities: (state, actions, country) => {
        country = country || state.selectedCountry; // etc...
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions