React中setState方法无效

看代码

class Background extends React.Component{    constructor(opts) {        super(opts);        this.initStatus();
    }
    initStatus() {        this.state = {            effect: false
        }
    }
    render(){        this.initStatus();        return <div className={cs({background: true, effect: this.state.effect})}>
            <div className="background-pannel">
                <div className="background-image-back"></div>
            </div>
            <div className="background-pannel">
                <div className="background-image"></div>
            </div>
        </div>
    }
    
    componentDidMount() {        this.setState({effect: true}, ()=>{            console.log(this.state.effect);
        })
    }
}export { Background }

为什么没有效果,打印出来的effect值依然是false


慕哥9229398
浏览 1477回答 1
1回答

红糖糍粑

是有效果的,不过在render里面的 this.initStatus()又重新把它设置为false了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript