草庐IT

redux-observable

全部标签

javascript - 我所有的 Observables 错误 'takeUntil is not a function'

出于某种原因,我无法在我的任何可观察对象上使用takeUntil方法。我的IDE(VisualStudioCode)在我编码时将其显示为有效方法,并且编译良好(从typescript),但是当我运行它时,我得到takeUntilisnotafunction在我的任何observables上。我使用的是rxjs版本5.3.0。我可以通过多种方式实现它,但这可能是最直接的:letsubject:BehaviorSubject=newBehaviorSubject({});letunsubscribe:Subject=newSubject();subject.takeUntil(unsubs

javascript - React Redux 使用连接组件的 HOC

我正在进行我的第一个ReactNative项目。我想创建一个纯粹处理来自api的同步数据的HOC。然后这将包装我的所有其他组件。如果我是正确的,我的DataSync组件将通过在导出语句中执行以下操作来增强所有其他组件:导出默认的DataSync(SomeOtherComponent);我正在纠结的概念是SomeOtherComponent还依赖于ReactReduxConnect方法来检索其他redux状态。我的问题是如何同时使用两者?是这样的吗?导出默认DataSync(connect(mapStateToProps,mapDispatchToProps)(SomeOtherComp

javascript - react native : HeadslessJS and Redux - How to access store from task

我们有一个使用redux、redux-persist和HeadlessJS任务的ReactNative应用程序。此任务需要有权访问商店。由于任务在没有启动整个应用程序的情况下触发(因此默认情况下没有访问权限),我们认为我们也可以简单地在任务中创建商店,以便它可以通过redux-persist重新水化。然而,事实证明,以这种方式创建的商店与应用程序中的商店不同:运行后,它们包含不同的值。我们以多种方式对此进行了测试,这似乎确实是商店的问题(而不是例如操作)我们应该如何从HeadlessJS任务访问Redux存储?相关代码:store/configure.js:configureStore

javascript - 派发一个 Redux Action 并将后续 Action 作为有效负载以显示 Material UI 的 snackbar 或对话框

我将React与Redux和MaterialUI结合使用来构建网络应用程序。Web应用程序由多个页面和组件组成。我知道snackbar或dialog应该直接连接到用户正在做的事情。但是,我想让snackbar和dialog独立于页面和组件。因此,一个用例显示一条消息,例如后台数据同步失败和一个操作立即重试。我的想法是在名为RootFrame的页面上呈现snackbar,该页面用于包装所有其他页面并将snackbar的文本作为操作的有效负载进行分派(dispatch)。显示snackbar的Redux操作:exportfunctionshowSnackbar(message:string

javascript - Redux-thunk 派发一个 Action 并等待重新渲染

importReactfrom"react";import{render}from"react-dom";import{createStore,applyMiddleware}from"redux";import{Provider,connect}from"react-redux";importthunkfrom"redux-thunk";constdisabled=(state=true,action)=>{returnaction.type==="TOGGLE"?!state:state;};classButtonextendsReact.Component{componentDi

javascript - React-redux connect() 的 mapStateToProps 在 react-router 导航中被多次调用

我有一个简单的路由器(从redux-router开始,切换到react-router以消除变量)。Admin组件基本上只是带有一些导航的{this.props.children};它不是connected组件。Pages组件是一个使用mapStateToProps()进行连接的组件,如下所示:functionmapStateToProps(state){return{pages:state.entities.pages};}帖子更有趣:functionmapStateToProps(state){letposts=map(state.entities.posts,post=>{retu

javascript - 使用 React 和 Redux 对来自 API 的特定于日期的结果进行分页

我想使用Redux在我的React应用程序中显示一些新闻。问题是我想显示各个日期的新闻,并且我想对新闻进行分页。在我的API中我打印{pagination:{count:1000,size:10,page:1,pages:100},news:[..]}我知道如何制作简单的分页,但我不知道如果我希望能够在我的应用中显示不同日期的新闻,API应该如何工作。直到现在(没有日期),我只是在我的Reduxreducer中保留了状态news和pagination,然后检查页码是否等于总页数页面以确定是否应尝试加载更多新闻。但现在我可能有很多不同的日期,而且我想将所有新闻保存在Redux存储中,我不

javascript - 传递 React Redux 意外键以创建商店

我收到错误Unexpectedkey"characters"foundininitialStateargumentpassedtocreateStore。预计会找到一个已知的reducer键:“marvelReducer”、“routing”。意外键将被忽略。根reducer:import{combineReducers}from'redux';import{routerReducer}from'react-router-redux';importmarvelReducerfrom'./marvelReducer';constrootReducer=combineReducers({m

javascript - 如何组合具有依赖状态的 redux reducer

我正在开发一个React/Redux应用程序,它允许将“小部件”添加到页面并在2D空间中进行操作。要求可以一次选择和操作多个小部件。我当前状态树的简化版本如下所示...{widgets:{widget_1:{x:100,y:200},widget_2:{x:300,y:400},widget_3:{x:500,y:600}},selection:{widgets:["widget_1","widget_3"]}}我目前有这棵树由2个reducer管理,一个管理widgets状态,另一个管理selection状态。选择状态缩减器可以简化为(注意:我也在使用Immutable.js)...

javascript - RxJs 从结果 Promise 创建 Observable

我是RxJs的新手,我想了解将Rx与Promises结合使用的最佳方式是什么。我想要创建的是Angular中的一个服务,它充当事件调度程序模式,并在promise完成后发出一个事件。我还需要的是,如果没有(事件)订阅者,则永远不会调用可观察对象。我最不想发生的事情是,可观察对象的任何后续订阅者都会获得相同的结果,而不会触发对服务器的另一个请求。我在这里设法实现了自己的解决方案://...CountryServicecodevarCOUNTRIES_LOADED=Rx.Observable.create(function(observer){$http.get('/countries')