У меня есть библиотека компонентов Stencil, использующая @ Stencil / redux, redux, redux-observable и redux-actions.Раньше все работало нормально, но я пытаюсь перейти на Stencil @ One (1.0.0-beta.5).
У меня сейчас ошибка при создании магазина Redux.Это конфигурация моего магазина:
import { Store, createStore, applyMiddleware } from 'redux';
import { createEpicMiddleware } from 'redux-observable';
import { rootEpic } from './epic';
const epicMiddleware = createEpicMiddleware();
export const ogodStore: Store<OgodState> = createStore(rootReducer, applyMiddleware(epicMiddleware));
epicMiddleware.run(rootEpic);
Ошибка возникает при вызове applyMiddleware и выглядит следующим образом:
TypeError: Class constructor Observable cannot be invoked without 'new'
at new ActionsObservable (chunk-f18fe9c6.js:3744)
at epicMiddleware (chunk-f18fe9c6.js:3830)
at chunk-f18fe9c6.js:4579
at Array.map (<anonymous>)
at chunk-f18fe9c6.js:4578
at createStore (chunk-f18fe9c6.js:4043)
at chunk-f18fe9c6.js:4716
В течение многих лет я так запутался из-за различных типов и целей модуля javascript... Но вот что я знаю:
- Эта ошибка вызвана этим конкретным кодом внутри наблюдаемой при редуксе:
(ActionsObservable.__proto__ || Object.getPrototypeOf(ActionsObservable)).call(this)
- Используется
call(this)
для создания объекта ActionsObservable, который зависит от класса Observable
rxjs - В моей конфигурации Typescript я использую созданный трафарет, и он остается тем же для новых проектов (модуль: 'esnext', target: 'es2017 ')
Observable
из rxjs не поддерживает это ?!Это класс, который должен быть создан с использованием синтаксиса ES6 new
, потому что он теперь поддерживается браузерами?
Я действительно хотел бы знать, если я должен создать проблему в GitHub-Observable Github?