草庐IT

redux-observable

全部标签

javascript - 如何处理 Redux 中复杂的副作用?

我一直在努力寻找这个问题的解决方案......我正在开发带有在线记分牌的游戏。玩家可以随时登录和退出。完成一场比赛后,玩家会看到计分板,看到自己的排名,分数会自动提交。记分牌显示玩家的排名和排行榜。计分板在用户完成游戏(提交分数)和用户只想查看他们的排名时使用。这就是逻辑变得非常复杂的地方:如果用户已登录,则将首先提交分数。保存新记录后,将加载记分板。否则,记分板将立即加载。玩家可以选择登录或注册。之后,将提交分数,然后再次刷新记分板。但是,如果没有分数提交(只需查看高分表)。在这种情况下,只需下载玩家现有的记录。但由于此操作不影响计分板,因此应同时下载计分板和玩家记录。有无限数量的级

javascript - 如何将方法放到 Redux 状态的对象上?

根据docsReact应用程序的状态必须是可序列化的。那么类(class)呢?假设我有一个ToDo应用程序。到目前为止,每个Todo项目都具有name、date等属性。现在我想在不可序列化的对象上使用方法。IE。Todo.rename()会重命名todo并做很多其他事情。据我所知,我可以在某处声明函数并执行rename(Todo)或者可能通过propsthis.props.rename(Todo)将该函数传递给组件。我在某处声明.rename()时遇到了2个问题:1)在哪里?在reducer?很难在应用程序周围的reducer中找到所有实例方法。2)传递这个函数。真的吗?我应该通过以下

javascript - 如何让一个 Observable 序列在发射之前等待另一个序列完成?

假设我有一个Observable,像这样:varone=someObservable.take(1);one.subscribe(function(){/*dosomething*/});然后,我有第二个Observable:vartwo=someOtherObservable.take(1);现在,我想subscribe()到two,但我想确保one在之前完成两个订阅者被解雇。我可以在two上使用什么样的缓冲方法让第二个等待第一个完成?我想我要暂停two直到one完成。 最佳答案 我能想到的几种方法import{take,publ

javascript - 如何获取新数据以响应 Redux 对 React Router 的更改?

我正在使用Redux、redux-router和reactjs。我正在尝试制作一个应用程序来获取有关路线更改的信息,因此,我有类似的东西:当有人进入artist/我想搜索艺术家,然后呈现信息。问题是,这样做的最佳方式是什么?我找到了一些关于它的答案,使用RxJS或尝试使用中间件来管理请求。现在,我的问题是,这是否真的有必要,或者只是一种保持架构react不可知的方法?我可以只从reactcomponentDidMount()和componentDidUpdate()获取我需要的信息吗?现在,我通过在那些请求信息的函数中触发一个操作来实现这一点,并在信息到达时重新呈现组件。该组件有一些属

javascript - 如何将 Immutable.js 与 redux 一起使用?

Redux框架正在使用reducers更改应用程序状态以响应操作。关键要求是reducer不能修改现有的状态对象;它必须产生一个新对象。坏例子:import{ACTIVATE_LOCATION}from'./actions';exportletui=(state=[],action)=>{switch(action.type){caseACTIVATE_LOCATION:state.activeLocationId=action.id;break;}returnstate;};很好的例子:import{ACTIVATE_LOCATION}from'./actions';exportle

javascript - 嵌套的 redux reducer

是否可以组合嵌套有以下结构的reducer:import'user'from...import'organisation'from...import'auth'from...//...exportdefaultcombineReducers({auth:{combineReducers({user,organisation,}),auth,},posts,pages,widgets,//..morestatehere});状态具有结构的地方:{auth:{user:{firstName:'Foo',lastName:'bar',}organisation:{name:'FooBarCo

javascript - 如何在 React 中使用 Redux 的 Provider

我一直在关注这里的ReduxJS文档:UsagewithReact文档末尾提到了provider对象的用法,我已经将我的App组件包装在provider中,如下所示:importReactfrom'react'importReactDOMfrom'react-dom'import{createStore}from'redux'import{Provider}from'react-redux'importRootReducerfrom'./app/reducers'importAppfrom'./app/app'conststore=createStore(RootReducer)Rea

javascript - 类型 'filter' 上不存在属性 'Observable<Event>'

您好,我正在使用带有路由器3.0的Angular2final。我想过滤从this.router.events发出的事件我想做什么:import'rxjs/operator/filter';//...this.router.events.filter((event:Event)=>eventinstanceofNavigationEnd).subscribe(x=>console.log(x))event可以是instanceOfNavigationEnd,NavigationStart或RoutesRecognized但我只想要NavigationEnd.但是我得到一个错误Proper

javascript - 哪些浏览器支持 Object.observe?

哪些浏览器(如果有的话)支持Object.observe?我很惊讶我找不到任何关于此的信息。(您是否知道此功能的任何预计到达时间?)关于Object.observe:“Object.observe允许直接观察对ECMAScript对象的更改。它允许观察者接收按时间排序的更改记录序列,这些记录描述了发生的更改集一组观察到的对象。”—参见ecmascript.org,解决方案部分。)编辑2015年11月:显然Object.observe已被取消:http://www.infoq.com/news/2015/11/object-observe-withdrawnhttps://esdiscu

javascript - 我如何在 React Redux 中访问存储状态?

我只是在制作一个简单的应用程序来学习redux的异步。我已经让一切正常,现在我只想在网页上显示实际状态。现在,我如何在渲染方法中实际访问商店的状态?这是我的代码(所有内容都在一页中,因为我只是在学习):constinitialState={fetching:false,fetched:false,items:[],error:null}constreducer=(state=initialState,action)=>{switch(action.type){case"REQUEST_PENDING":{return{...state,fetching:true};}case"REQU