-1

I have an issue from redux-observable. While debug I can see the api work successfully but redux-observable can't work ... i don't know how to fix ... i try to replace action and it's ok but when i replace old action I get an error ...

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 |   )),

in 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',
        },
      }),
    );
  };

in DetailedProductEpic.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)),
  )),
);

network: api return ok but redux-observable don't work

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
bat7
  • 836
  • 1
  • 8
  • 22
Steve Huynh
  • 11
  • 1
  • 7

1 Answers1

0

i have solved this problem ... in apiservice i forget return in updateProduct function

Steve Huynh
  • 11
  • 1
  • 7