繁体   English   中英

组件不再渲染React JS

[英]Component is not rendering again React JS

当我更新其运行的渲染方法但不再次重新渲染组件时,这是React JS的简单程序

这是如何更新状态

this.setState({q_no : this.state.q_no +1 });

渲染方法

render(){
        const {loading, q_no, questions} = this.state;
        return(
            <div className="container cond7sdagF">
                <h3><i>{this.quizInd.name}</i></h3>
                {!loading && <h6>Loading</h6>}
                {loading && <Question question={questions[q_no]} nextQuestion={this.nextQuestion} />}
            </div>
        )
    }

不知道这是不是错字,但您的情况似乎倒退了:

这个

        {!loading && <h6>Loading</h6>}
        {loading && <Question question={questions[q_no]} nextQuestion={this.nextQuestion} />}

应该是这样的

            {loading && <h6>Loading</h6>}
            {!loading && <Question question={questions[q_no]} nextQuestion={this.nextQuestion} />}

另一件事,当您的新状态基于先前的状态时, 最好使用 setState 的功能版本

this.setState(state => ({q_no : state.q_no +1 }));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM