1

我正在关注 dan abramov 的 redux 教程,代码非常简单:

import { schema, arrayOf } from 'normalizr';

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

但我有这个错误:

未捕获的 TypeError: (0 , _normalizr.arrayOf) 不是函数

这就是我在调度中使用它的方式:

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

我似乎无法在这里追踪错误,这段代码有什么问题?

4

2 回答 2

2

对于错误,试试这个:

import { schema } from 'normalizr';

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

不确定您的 normalizr 版本,但根据文档,lib 本身存在一些结构变化。

于 2017-06-18T11:03:12.190 回答
1
import { schema } from 'normalizr';

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

这适用于所有版本的 normalizr 直到最近的版本

于 2020-10-28T09:26:32.880 回答