我正在使用react并尝试使用单击按钮将元素推送到我的状态中的数组。问题是我从来没有以正确的方式得到它:
让我们说,我有空数组,我按此顺序按数字1,2,3。
如果我在控制台上按下按钮记录数组,我得到:[],[1],[1,2]。似乎总是落后于一个输入。所以从我看到它意味着第一次我的元素被渲染,数组是空的,这就是为什么我得到这个结果,但我不知道如何解决它。
这是我的代码(要添加到数组中的数据来自其他组件):
import React from 'react';
import {Component} from 'react';
import 'bulma/css/bulma.css'
import './App.css';
class App extends Component {
constructor(props) {
super(props);
this.state = {
colecoesSelecionadas: []
};
}
adicionarColecaoSelecionada(colecao) {
this.setState({colecoesSelecionadas: [...this.state.colecoesSelecionadas, colecao]});
console.log(this.state.colecoesSelecionadas);
}
render() {
return (
<section>
<Options>
<TabsArea
addColecao ={this.adicionarColecaoSelecionada.bind(this)}/>
</Options>
</section>
</div>
)
;
}
}
export default App;