组件不再渲染React JS

时间:2018-09-13 13:35:33

标签: javascript reactjs

这是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>
        )
    }

1 个答案:

答案 0 :(得分:0)

不确定是不是错字,但您的情况似乎倒退了:

        {!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中的its better to use the functional version

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