Почему у меня эта 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 до последних версий.