错误:缩小反应错误 #130 [重复]
Posted
技术标签:
【中文标题】错误:缩小反应错误 #130 [重复]【英文标题】:Error: Minified React error #130 [duplicate] 【发布时间】:2018-10-29 21:35:37 【问题描述】:我在文件 ./MyInput.react.js 中有以下 ReactJs 组件
import React from 'react';
export default class MyInput extends React.Component
constructor(props)
super(props);
this.id = getNextId();
this.onChange = this.onChange.bind(this);
onChange(e)
this.props.onChange(e.target.value);
render()
return (
<label htmlFor=this.id>
this.props.label
<input
id=this.id
value=this.props.value
onChange=this.onChange
/>
</label>
);
现在我尝试像这样将它导入 ./index.js:
import MyInput from './MyInput.react';
控制台返回错误:
Error: Minified React error #130
你刚才遇到的错误全文是:
Element type is invalid: expected a string (for built-in components) or
a class/function (for composite components) but got: undefined.
这有什么问题?
【问题讨论】:
如果你搜索那个错误,你会发现超过 50 个 SO 结果,Link。所以不需要添加新的问题和答案:) 你是对的。每个问题在某种形式的某个地方都有一个答案。对于我的案例,我没有找到对异常“错误:缩小反应错误 #130”的快速直接解释。因此,我认为这个解释会帮助那些发现自己处于同样情况的人。 我遇到了这个错误,与类中作为 JSX.Element 的箭头函数有关。例如class myClass extends Component CustomElement = () => return render() return答案很简单。但是,要快速找到问题并不容易。 导出默认情况下需要不带大括号的导入:
export default class MyInput extends React.Component
...
import MyInput from './MyInput.react';
或者您可以使用命名的导出(没有单词默认值)。然后你需要在导入中使用大括号:
export class MyInput extends React.Component
...
import MyInput from './MyInput.react';
附:由于查找对变量(类、函数等)的引用的清晰和简单,一些开发人员认为命名导出/导入是一种很好的做法。
【讨论】:
你值得拥抱! 救命稻草。我的敬意。以上是关于错误:缩小反应错误 #130 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
缩小反应错误 #321;访问 https://reactjs.org/docs/error-decoder.html?invariant=321
onMouseEnter onMouseLeave 错误:太多的重新渲染反应[重复]
与 ES7 反应:未捕获的类型错误:无法读取未定义的属性“状态”[重复]
从反应应用程序获取到本地主机快速服务器的cors错误[重复]
编译器警告“找不到模块:错误:无法解析'./locale'”,因为我在我的反应应用程序中使用了 momentjs [重复]