- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 ReSwift和 RxSwift (如果没有这些信息,这个问题就没有多大意义)。
是否有一种标准方法可以在 ReSwift 中分派(dispatch) action creator 并在它完成处理后发生一些事情(即,完成处理操作和可能在 action creator 内部发生的所有内部请求)?
我确实知道实现此目的的一种方法:
func myActionCreator(_ callback: () -> Void) -> (state: AppState, store: Store<AppState>) -> Action? {
return { state, store in
_ = someRequest().subscribe(onNext: { _ in
callback()
})
return nil
}
}
store.dispatch(myActionCreator({
// callback
}))
但这有两个问题:
Observable
对象。为了解释第二个原因,我需要这样的东西:
让 observable = store.dispatch(myActionCreator)
所以我可以随意使用 observable
变量。
当然,我可以自己实现所有日志记录,并拥有类似 store.dispatchReturningObservable
的东西作为 Store
的扩展,但我正在寻找更简单的方法.
有吗?
最佳答案
我想到的最好的解决方案是:
extension Store {
func dispatchObservable(_ callbackActionCreator: @escaping (@escaping () -> Void) -> (State, Store<State>) -> Action?) -> Observable<State> {
return Observable.create({ observer in
let actionCreator = callbackActionCreator({
observer.onNext(self.state)
observer.onCompleted()
})
self.dispatch(actionCreator)
return Disposables.create()
})
}
}
我不会接受这个答案,因为我还在寻找更简单/更标准的方式。
关于swift - ReSwift ActionCreator 在分派(dispatch)后带有回调/返回可观察对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46508863/
我需要从另一个调用 ActionCreator 鸭子/products.ts - 产品的 ActionCreator 和 Reducers... import { setStock } from '.
这是一个示例 Action 创建器。它分发正确的操作,然后尝试将存储中已更新的数据持久保存到文件系统(这是一个 Electron 应用程序)。 一切正常,但我有一个关于测试 Action 创建者的问题
我是 React-Redux 的新手。正在处理一个应用程序。问题是我可能遇到了一些异步执行 Redux actionCreator 的问题。 下面是我的组件。比如,我想从 componentDidMo
我想知道其他人如何处理将 redux Action 创建者从智能顶级组件传递到许多较低级别的dumb组件而不膨胀其 props 定义。 例如,以下 this excellent tutorial on
我收到以下错误: 未捕获的类型错误:this.props.dispatch不是函数 这是我的组件: import React from 'react'; import PropTypes from '
我有一个 Promise 数组,我试图将新的 Promise 推送到另一个 Dispatch.then 函数内的该数组中,但该数组似乎总是超出范围 load(params, auth) { r
我正在尝试使用mapDispatchToProps来获取Something组件中所有 Action 创建者的 Action ,但似乎Something组件的 Prop 中发生的任何事情都是未定义的我不
我正在使用 ReSwift和 RxSwift (如果没有这些信息,这个问题就没有多大意义)。 是否有一种标准方法可以在 ReSwift 中分派(dispatch) action creator 并在它
bindActionCreators expected a function actionCreator for key 'ACCOUNT_LOGIN', instead received type
阅读redux docs ,特别是在 react-redux 上,有一种不太详细的方法将操作创建者绑定(bind)到调度函数,使用一个简单的 actionCreators 对象,将其作为 2nd 参数
我正在使用 Yii2 RESTful API 实现。 这是一个好的开始:http://budiirawan.com/setup-restful-api-yii2/ 我正在用我自己的操作覆盖 CREAT
我正在浏览 connect docs并尝试理解这个例子: Inject todos and all action creators import * as actionCreators from '.
您好,我正在尝试使用 json-server 模拟我正在构建的 React Flux ES6 应用程序的 API。但是当我使用 super 代理节点模块从 Action 创建者发出请求时,回调中的数据
我是一名优秀的程序员,十分优秀!