componentDidUpdate(){
let arran=this.props.shipmmsi;
this.kick=arran;
this.getshipteamtemporaryDataServer()
}
getshipteamtemporaryDataServer=()=>{//在didupdate周期内被调用
let shipmmsiarr=this.kick
var arr=[];
for(var i in shipmmsiarr){
// 使用立即执行函数直接执行,解决异步行为的最佳方法
((kick)=>{
Server.getshipteamtemporaryData({MMSI:kick},(data)=>{
arr.push(data);
// this.setState({//加入setState就会无限循环
// shipteampos:arr
// })
})
})(shipmmsiarr[i])
}
console.log(arr)
}
其中兄弟组件的props.shipmmsi是通过dispatch注入的,在本组件中通过redux的connect方法获取,但是在render渲染的时候,会渲染两次,第一次渲染时shipmmsi为undefined,之后才会获得注入后的shipmmsi。componentdidmount中获取的props为空数组,怎么解决didmount周期里props获取不到的问题?。尝试两天了还没有解决完。有点懵逼
那就加个空值判断好了,
if(!shipmmsi) return;