使用react-hot-loader
时,我遇到了一个奇怪的问题。
只有这种情况才会抛出未捕获的RangeError:在CourentEdit超出最大调用堆栈大小。__test__REACT_HOT_LOADER__
class PatientEdit extends React.Component {
test = () => {
return 123
}
constructor(props) {
super(props)
}
static propTypes = {
}
render() {
return (
<div>{this.test()}</div>)
}
}
但是下面三个都可以
// A
class PatientEdit extends React.Component {
test(){
return 123
}
constructor(props) {
super(props)
}
static propTypes = {}
render() {
return (
<div>{this.test()}</div>)
}
}
// B
class PatientEdit extends React.Component {
test(){
return 123
}
constructor(props) {
super(props)
}
static propTypes = {}
render() {
return (
<div>{this.test()}</div>)
}
}
// C
class PatientEdit extends React.Component {
test = () => {
return 123
}
static propTypes = {}
render() {
return (
<div>{this.test()}</div>)
}
}
按照文档所述遵循加载程序配置:.babelrc
如下所示,在文件输入之前添加巴别多填充
和反应热加载程序/补丁
// .babelrc
{
"presets": [["env", {"modules": false}], "react", "stage-1"],
"plugins": [
"react-hot-loader/babel",
"transform-decorators-legacy",
"transform-flow-strip-types",
"transform-object-assign",
"transform-runtime",
"typecheck",
"react-css-modules"
]
}
一开始,我对奇怪的行为感到震惊,忽略了错误堆栈。现在是时候研究反应热加载器
的机制,并欢迎详细的解释
更多的是猜测而不是真正的推理。(很想听听整个答案)
箭头函数自动将自身绑定到它的运行时上下文。(在本例中,患者编辑类实例,代表。组件)。
我猜问题是,类实例还没有创建,因为构造函数还没有被执行。但是实例需要被绑定。这可能会导致类代码再次运行(期望找到它的构造函数)。这就是导致循环的原因,最终导致调用堆栈溢出。
我正在使用我岳父让我建立的一个网站作为学习React的借口。我不是一个天生的JavaScript开发人员(更喜欢后端),我知道我下面的代码中可能有一些递归元素,但我就是看不到。谁能告诉我我做错了什么?
如果用户未登录,我尝试将用户重定向到“TrapPage”。 这是我的代码: 当我将函数requireAuth放在onEnter上时,控制台给我一个错误: 我是一个反应迟钝的人,请耐心点:) 我的代码有什么问题?
//{this.props.params.item}来自反应路由器(路径('/detail/item/id')) 为什么我的调度是无限循环,直到出错(超过最大调用堆栈大小)
这是我在React中的第一个应用程序。在localhost中,一切正常,当我使用Github Pages部署时,我的应用程序(Info/Images/evenements)中的一些页面无法呈现。每次单击他们的链接访问他们时,我都会在控制台上看到一个白色页面和此错误: range error:object . tostring处超出了最大调用堆栈大小 同样,当我刷新页面时,github pages返
当我添加<代码>时 我得到错误 超过了最大调用堆栈大小 当然,如果我注释掉
当我为图表(react-chartjs-2)获取数据时,我收到了这个错误。我实现了try/catch块,但不知道如何删除这个错误。在Edge浏览器上,我得到了CRIPT28:SCRIPT28:堆栈空间不足 这是我在组件中调用的操作。 这是连接到redux存储的组件。它在我看来一切都很好。