我偶尔会遇到使用ReactJS + JSX的错误,日志文件类似于" react-with-addons.js:9729 Uncaught TypeError:type.toUpperCase不是函数&#34 ;。搜索StackOverflow特别是网络表明这是一个常见的bugbear。一个例子,来自在不需要花括号的情况下在花括号中包装React类名的人,位于:React error "Uncaught TypeError: type.toUpperCase is not a function" on a hello world app
我并不完全确定如何将这一点超出某个错误的声明,某个地方,并且可能暗示它是语法错误,而不是例如逻辑错误。我的所有搜索都没有出现一个直接从toUpperCase错误转到特定区域的冒烟枪,或者搜索特定类型的语法错误,或者在搜索源时应用特定的启发式或算法。有多方证明了类似的错误,但到目前为止,我在网上看过的人都没有说过,"尤里卡!"
我的代码正在进行中,在http://pastebin.com/e7mG3mir处有一个快照。我想特别修复我的代码中的这个缺陷,但我想更多地了解如何继续切断和焚烧这种类似Hydra的类错误的头部。
答案 0 :(得分:0)
我不确定"一般"解决方案,但我在React error "Uncaught TypeError: type.toUpperCase is not a function" on a hello world app引用的问题是在预期纯JavaScript的上下文中错误地处理JSX;在这种情况下,我给了一个JSX标签,我应该给出类名。
我的代码是:
var pragmatometer = React.createElement(<Pragmatometer />, null);
我想要的代码是:
var pragmatometer = React.createElement(Pragmatometer, null);
所以我不确定我是否有一般解决方案,但是如果(何时)再次发生错误,我的第一个停靠点将是我在使用的地方所做的任何更改(非严格的JavaScript) JSX语法。