Rxjs 地图不是一个函数

Rxjs 地图不是一个函数,rxjs,redux-observable,Rxjs,Redux Observable,我快发疯了!作为React/Nextjs应用程序的副作用,我正在尝试 要使用redux observable启动基本ajax请求,请执行以下操作: import {combineEpics} from 'redux-observable' import {mergeMap} from 'rxjs/operators' import {ajax} from 'rxjs/ajax' const fetchSearchEpic = action$ => action$ .ofTyp

我快发疯了!作为React/Nextjs应用程序的副作用,我正在尝试 要使用
redux observable
启动基本ajax请求,请执行以下操作:

import {combineEpics} from 'redux-observable'
import {mergeMap} from 'rxjs/operators'
import {ajax} from 'rxjs/ajax'

const fetchSearchEpic = action$ =>
  action$
    .ofType('FETCH_SEARCH')
    .pipe(
      mergeMap(action => 
        ajax.getJSON(`http://localhost:3001/search/${action.payload.query}`)
            .map(response => ({ type: FETCH_SEARCH_FULFILLED, response }))
      )
)

export const rootEpic = combineEpics(
  fetchSearchEpic
)
但我这辈子都不能让它工作。请求未被激发,我不断收到的错误是:

Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_2_rxjs_ajax__.a.getJSON(...).map is not a function
现在我猜这可能与新的RxJS 6导入依赖项的方式有关,不知何故我需要导入.map来将其添加到Observable,但是如何呢

我试过:

import 'rxjs'
import 'rxjs/observable/map'
import {map} from 'rxjs/observable'
没有一个能达到预期的效果

版本:

"react": "16.4.0",
"redux": "4.0.0",
"react-redux": "5.0.7",
"redux-observable": "1.0.0-beta.2",
"rxjs": "6.2.1"
map
(以及其他Rx运营商)不再存在于
Observable
的原型上,例如RxJS 6

操作员现在使用
管道链接:

ajax.getJSON(`http://localhost:3001/search/${action.payload.query}`)
    .pipe(map(response => ({ type: FETCH_SEARCH_FULFILLED, response })
确保像这样导入
map

import { map } from 'rxjs/operators';

看看是哪一个概述了这些变化。

我已经读过了,没有帮助了。谢谢,现在它起作用了,有意义了!互联网上充斥着不一致的例子,但我知道不依赖rxjs compat也可以做到这一点