【发布时间】:2020-03-06 12:49:32
【问题描述】:
按下按钮时,我在 reactjs 中设置状态变量的状态。我调用了以下过程(实际上正在调用)。
nextSuggestion() {
console.log(this.state.suggestions_index);
this.state.suggestions_index = this.state.suggestions_index + 1;
console.log(this.state.suggestions_index);
}
上面的函数被调用并且页面没有重新渲染,即使我有以下componentDidMount():
async componentDidMount(){
const query = new URLSearchParams(this.props.location.search);
const token = query.get('token');
const url = "http://www.mocky.io/v2/" + token;
this.setState({url_prod: url});
const response = await fetch(url);
const data = await response.json();
this.setState({produto: data.suggestions[this.state.suggestions_index], loading_produto: false})
this.setState({alternativas: data.choices, loading_alternativas: false})
this.setState({atributos: data.suggestions[this.state.suggestions_index].product_data.attributes, loading_atributos: false})
}
按钮是通过render()函数中的这段代码创建的:
if(!this.state.loading_alternativas){
this.texts = lista_alternativas.map((text, key) => {
return <div id="center-button"><button type="button" className="btn btn-primary" key={text.id} onClick={this.nextSuggestion.bind(this)}>{text.text}</button></div>
});
}
国家:
state = {
produto: null,
alternativas: null,
atributos: [],
suggestions_index: 0,
loading_produto: true,
loading_alternativas: true,
loading_atributos: true,
showPopupDescProd: false,
showPopupAnswer: false,
url_prod: null,
};
为了让它发挥作用,我缺少什么?
【问题讨论】:
标签: javascript reactjs