我正在尝试使用 Redux Observable 调用一个操作来获取一些数据,等待它的返回,然后获取更多依赖它的数据。
我有一个从 fetch 填充商店的史诗FetchTodos
。这会监听FETCH_TODOS
操作,然后调用我的 todos API 并填充{todos: [] } =
我的商店也有评论区todoComments
。但是,我只想填充todoComments
一次FETCH_TODOS
返回并填充商店。
在命令式代码中,这可能如下所示:
let todos = await api.get('/todos');
await dispatch("FETCH_TODO_COMPLETE", todos)
let firstId = getState().todos[0].id
let comments = await api.get(`/todos/${firstId}/comments')
await dispatch("FETCH_COMMENTS_COMPLETE", { todo_id: firstId, comments})
我最接近这个问题的是 Redux Observable Repo 中的这个问题,但我不明白如何有效地做到这一点。这对我来说是一个很常见的场景。
我想尽可能多地重用代码。FETCH_TODOS
在这个例子中,我可以从多个组件中 调度。
我将如何使用 Redux-Observable 完成此任务?