Почему у меня эта Uncaught TypeError: (0, _normalizr.arrayOf) не является функцией?

Я слежу за уроком редукса Дана Абрамова, код очень прост:

import { schema, arrayOf } from 'normalizr';

export const todo = new schema.Entity('todos');
export const arrayOfTodos = arrayOf(todo);

но у меня есть эта ошибка:

Uncaught TypeError: (0, _normalizr.arrayOf) не является функцией

Вот как я использую это в моей рассылке:

return api.fetchTodos(filter).then((response) => {
      dispatch({
        type: 'FETCH_TODOS_SUCCESS',
        filter,
        response: normalize(response, schema.arrayOfTodos),
      });
    }

Я не могу проследить ошибку здесь, что не так с этим кодом?

1 ответ

Решение

Для ошибки попробуйте это:

import { schema } from 'normalizr';

export const todo = new schema.Entity('todos');
export const arrayOfTodos = schema.Array(todo);

Не уверен насчет вашей версии нормализатора, но на основе документации произошли некоторые структурные изменения в самой библиотеке.

import { schema } from 'normalizr';

export const todo = new schema.Entity('todos');
export const arrayOfTodos = [todo];

Это работало для всех версий normalizr до последних версий.

Другие вопросы по тегам