为啥我有这个 Uncaught TypeError: (0 , _normalizr.arrayOf) is not a function?
Posted
技术标签:
【中文标题】为啥我有这个 Uncaught TypeError: (0 , _normalizr.arrayOf) is not a function?【英文标题】: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),
);
我似乎无法在这里追踪错误,这段代码有什么问题?
【问题讨论】:
【参考方案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 直到最近的版本
【讨论】:
以上是关于为啥我有这个 Uncaught TypeError: (0 , _normalizr.arrayOf) is not a function?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Uncaught TypeError: Cannot set property 'innerHTML' of null 显示即使 <span> 和 js 中的 id 相同? [复制]
这个错误是啥意思 - Uncaught TypeError: 已经读过?
Uncaught TypeError 不是 AJAX 回调函数
如何使用 tableDragger 解决 Uncaught TypeError?