我正在使用一些API调用创建一个React应用。我有以下代码来调用API,该API的对象带有多个键和值,并使用这些值更新某些状态。但是在更新状态之后,程序仍然显示初始状态,而不是更新值。当我将console.log放入状态回调内时,该控制台部分将丢失。 然后控制台说map不是ordered.map中的函数 所以我想命令的初始状态就是问题
组件:
class Dashboard extends Component {
constructor(props) {
super(props);
this.state = {
columns: '',
ordered: 'null'
};
}
componentDidMount() {
API.get('project')
.then(({ data }) => {
this.setState({
columns: data.response,
ordered: Object.keys(data.response)
} () =>
console.log("order is ",this.state.ordered);
);
})
.catch((err) => {
console.log("AXIOS ERROR: ", err);
})
}
render(){
return(
<div>\
{(provided) => (
<div ref={provided.innerRef} {...provided.droppableProps} className={classes.taskboard}>
{ordered.map((key, index) => (
<Column
key={key}
index={index}
title={key}
tasks={columns[key]}
getCardId={this.getPojectId}
/>
))}
</div>
)}
</div>
)
}
}
API成功正在发挥作用。但是我在控制台中看到的是“订单为空”