8000 How to handle data dependencies with Async · Issue #644 · goatslacker/alt · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
How to handle data dependencies with Async #644
Open
@ghost

Description

I am currently trying to manage data dependencies in a react app. Usually I would just use waitFor, but this doesnt seem to do here, since it won't wait for the async data fetching, just for the sync operations.

Depender:

    @bind(Actions.showUserForm)
    showUserForm(id) {
      const user = UserStore.getState()[id];
      this.setState({form: createPrefil(user});
    }

Dependee:

    @bind(Actions.getUser, showUserForm.showUser)
    getUser(id) {
      this.getInstance().getUser(id);
    }

    @bind(Actions.getUserSucc)
    getUserSucc(user) {
      this.setState({ [user.id]: user })
    }

Dependee Source

    export default {
      getUser: {
        remote: (state, id) => UserAPI.get(id),
        success: Actions.getUserSucc
      },
    };

The Depender needs somehow to wait for the Dependees async response with the user data. I could just listen to the success action, though this would trigger the Depender everytime a user is fetched from the backend.

Is there an idiomatic solution for those kind of problems?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0