这是我第一次面对这个警告信息.
无法在尚未装入的组件上调用setState.
具体情况如下:
这是一个无操作,但它可能表示您的应用程序中存在错误.相反,
this.state
直接指定或state = {};
在MyComponent组件中定义具有所需状态的类属性.
" 尚未安装 "部分实际上几乎没有意义,因为触发问题的唯一方法是通过单击需要安装的组件中的按钮来调用函数以查看按钮.该组件在任何给定时间都没有卸载.
这个虚拟组件在我的应用程序中重现错误:
import PropTypes from 'prop-types'
import React from 'react'
export default class MyComponent extends React.Component {
constructor (props) {
super(props)
this.state = {
initial: 'state'
}
this.clickMe = this.clickMe.bind(this)
}
clickMe () {
this.setState({
some: 'new state'
})
}
render () {
return (
<div>
<button onClick={this.clickMe}>click</button>
</div>
)
}
}
Run Code Online (Sandbox Code Playgroud)
我在用:
"react": "16.3.2",
"react-dom": "16.3.2",
"mobx": "4.2.0",
"mobx-react": "5.1.2",
Run Code Online (Sandbox Code Playgroud)
我在最新的React/mobx版本中遗漏了什么吗?(注意组件不使用任何与mobx相关的东西,但它的父级是一个mobx-react观察者)
编辑:
一定有什么相关的组件实例,进一步的调查表明,在某些情况下,创建渲染功能内的处理程序将使该警告消失,但不是在所有情况下.
class MyComponent extends React.component …
Run Code Online (Sandbox Code Playgroud) 我正在学习 React 并试图更好地了解生命周期和不同阶段。
我刚刚读到的一件事是“React 首先渲染然后挂载元素。在这种情况下渲染意味着调用类的 render(),而不是绘制 DOM”
我想我只是不明白这意味着什么。有人可以用简单的方式或例子来解释它吗?
提前致谢!
我对Reactjs很陌生,我在学习react时遇到了这个问题,reactjs中的节点是什么,节点在reactjs中有何用处以及为什么我们必须使用它们?用简单的实时场景向我解释一下。