我想使用RxJS的iif实用程序有条件地调度一些操作。问题是即使测试函数返回false,也会调用iif的第二个参数。这将引发错误,并且应用程序立即崩溃。我对RxJS的功能是陌生的,所以我可能一无所知。如果有问题,我将使用connected-react-router软件包。
导出const roomRouteEpic:Epic =(action $,state $)=>
action $ .ofType(LOCATION_CHANGE).pipe(
采摘('payload'),
mergeMap(有效载荷=>
iif(
()=> {
console.log('NOT LOGGED');
返回/^\/room\/\d+$/.test(payload.location.pathname); //设为'/ login'
},
合并(
点击(v => console.log('NOT LOGGED TOO')),
的(
//立即评估以下状态值
state $ .value.rooms.list [payload.location.pathname.split('/')[1]]
?actions.rooms.initRoomEnter()
:actions.rooms.initRoomCreate(),
),
的(actions.global.setIsLoading(true)),
),
empty(),
),
),
);