我无法使用 map() 函数进行渲染,因为数组的长度始终为 0,即使我从数组中获取数据。有没有办法设置时间间隔,直到异步数组正确加载?
这是我的代码:
function ShortcutComponent({ usershortcuts }) {
console.log(usershortcuts); // I get an array
console.log(usershortcuts.length); //I get 0
return (
<Button ui="headerButton" arrow={false} ripple={false} iconCls="icon-directions" border={false} handler={() => this.loadData()}>
<Menu title="Shortcuts">
{usershortcuts.map((item) => {
<MenuItem key={item.id} iconCls={item.shortcutDefinition.iconCls} text={item.shortcutDefinition.description} />
}
</Menu>
</Button>
)
}
const mapStateToProps = (state) => {
return {
usershortcuts: state.usershortcuts
}
};
const mapDispatchToProps = (dispatch) => {
return {
actions: bindActionCreators(usershortcutAction, dispatch)
}
}
export default connect(mapStateToProps, mapDispatchToProps) (ShortcutComponent);
作为证据,这里有图片: