Ошибка типа: невозможно прочитать свойство 'pipe' из undefined в Redux-Observable - PullRequest
0 голосов
/ 26 мая 2019

У меня есть проблема с наблюдаемой редукцией. Во время отладки я вижу, как API работает успешно, но наблюдаемые при редуксе не могут работать ... Я не знаю, как исправить ... Я пытаюсь заменить действие, и все в порядке, но когда я заменяю старое действие, я получаю ошибку. ..

ERROR

TypeError: Cannot read property 'pipe' of undefined
SwitchMapSubscriber.project
src/containers/detailedProduct/DetailedProductEpic.js:27
  24 | 
  25 | export const updateProductEpic = (action$, store$, { updateProductService }) => action$.pipe(
  26 |   ofType(UPDATE_PRODUCT),
> 27 |   switchMap(({ payload }) => updateProductService(payload).pipe(
  28 |     map(res => updateProductSuccess(res)),
  29 |     catchError(err => updateProductFail(err)),
  30 |   )),

в apiService.js

static addProduct = dataProduct => from(
    axios.post(`${API}/products`, dataProduct, {
      headers: {
        'Content-Type': 'application/json',
      },
    }),
  );

  static updateProduct = dataProduct => {
    const id = dataProduct.get('id');
    from(
      axios.put(`${API_LOCALHOST}/products/${id}`, dataProduct, {
        headers: {
          'Content-Type': 'application/json',
        },
      }),
    );
  };

в DetailProductEpic.js

export const addProductEpic = (action$, store$, { addProductService }) => action$.pipe(
  ofType(ADD_PRODUCT),
  switchMap(({ payload }) => addProductService(payload).pipe(
    map(res => addProductSuccess(res)),
    catchError(err => addProductFail(err)),
  )),
);

export const updateProductEpic = (action$, store$, { updateProductService }) => action$.pipe(
  ofType(UPDATE_PRODUCT),
  switchMap(({ payload }) => updateProductService(payload).pipe(
    map(res => updateProductSuccess(res)),
    catchError(err => updateProductFail(err)),
  )),
);

сеть: API возвращают нормально, но наблюдаемые при редуксе не работают

Request URL: http://localhost:8080/products/64a96b67-a7a9-41c4-96d6-2888b3298734
Request Method: PUT
Status Code: 200 
Remote Address: [::1]:8080
Referrer Policy: no-referrer-when-downgrade

1 Ответ

0 голосов
/ 09 июня 2019

я решил эту проблему ... в apiservice я забыл вернуться в функцию обновления продукта

...