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