【问题标题】:Why do I have this Uncaught TypeError: (0 , _normalizr.arrayOf) is not a function?为什么我有这个 Uncaught TypeError: (0 , _normalizr.arrayOf) is not a function?
【发布时间】:2017-11-20 16:50:29
【问题描述】:

我正在关注 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),
      });
    }

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

【问题讨论】:

    标签: javascript redux normalizr


    【解决方案1】:

    对于错误试试这个:

    import { schema } from 'normalizr';
    
    export const todo = new schema.Entity('todos');
    export const arrayOfTodos = schema.Array(todo);
    

    不确定您的 normalizr 版本,但基于 docs,lib 本身发生了一些结构变化。

    【讨论】:

    • 感谢您链接更新日志,我确实 export const arrayOfTodos = [todo];现在好了。
    【解决方案2】:
    import { schema } from 'normalizr';
    
    export const todo = new schema.Entity('todos');
    export const arrayOfTodos = [todo];
    

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

    【讨论】:

      猜你喜欢
      • 2022-12-20
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 2014-08-15
      • 2021-12-16
      • 2018-04-20
      • 2017-04-13
      相关资源
      最近更新 更多