react中Can‘t call setState on a component 警告提示解决

react中警告提示:

react_devtools_backend.js:4061 Warning: Can't call setState on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the Home component.

代码:

class App  extends React.Component{
    constructor(props) {
        super(props);
                ...
        this.state = {
            name:"开发测试",
            adopters:[]
        }
                this.init()
    }


    init(){
        ...
        this.setState({adopters:result})
    }

因为在​constructor() 中初始化state使用了setState,调整如下即可:

class App  extends React.Component{
    constructor(props) {
        super(props);
        ...
        this.state = {
            name:"开发测试",
            adopters:[]
        }
        
    }
  componentDidMount(){
        this.init()
    }

    init(){
        ...
        this.setState({adopters:result})
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值