我正在尝试向组件状态数组添加新列。但是我得到了不确定的价值。我不明白该如何绑定
const data = SberData;
class App extends Component {
constructor(props) {
super(props);
this.state = {
data: [],
columns: [
{Header: 'value1'},
{Header: 'value2'}
]
}
}
componentDidMount() {
data.map((element) => {
return this.setState(state => ({
columns: [...state.columns, {Header: element.value}]
}
)
)
}
)
}
以及我得到的:
0: {Header: "value1"}
1: {Header: "value2"}
2: {Header: undefined}
3: {Header: undefined}
答案 0 :(得分:0)
我们在评论中发现元素只是不具有value
属性,但是我还是建议稍微改善一下代码,准备数据,然后一次调用setState()
,例如:
componentDidMount() {
const newColumns = data.map(element => ({Header: element.value}));
this.setState(state => ({
columns: [...state.columns, newColumns]
});
}