如何将兄弟组件的props传递给本组件的请求,并解决本组件内遍历请求的异步问题并将请求结果传给子组件?

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获取不到的问题?。尝试两天了还没有解决完。有点懵逼

阅读 1.4k
1 个回答
第一次渲染时shipmmsi为undefined,之后才会获得注入后的shipmmsi。

那就加个空值判断好了,if(!shipmmsi) return;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题