Помилка non-serializable value і її виправлення

Під час роботи з persistor може зʼявитися помилка про значення, яке не серіалізується. Приблизно така:

A non-serializable value was detected in an action, in the path: `register`. Value: ƒ register(key) {
    _pStore.dispatch({
      type: _constants__WEBPACK_IMPORTED_MODULE_0__.REGISTER,
      key: key
    });
  } 

Це виникає тому, що actions мають бути серіалізованимиarrow-up-right до моменту, коли вони фактично досягнуть сховища та передадуться редʼюсеру. І тип actions має бути рядком.

Щоб не бачити цю помилку потрібно дозволити додатку ігнорувати деякі типи actions. Для цього потрібно використати прошарок функціоналу middleware і прописати ігнорування помилок перш ніж оновлювати стейт.

  1. Імпортуємо ті компоненти, тип яких будемо ігнорувати

  1. У store після редʼюсерів прописуємо middleware за прикладом нижче

Після цього помилка в консолі зникне.

Посилання:

Чому action має бути рядкомarrow-up-right

Виправлення помилки не серіалізованих даних arrow-up-right

Що таке middleware в Reduxarrow-up-right

Last updated