- 55
- 0
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获取不到的问题?。尝试两天了还没有解决完。有点懵逼
- 共 0 条
- 全部回答
-
—半世づ微暖゜ 普通会员 1楼
在React中,我们可以使用state来管理组件的状态,然后使用生命周期方法来处理状态的变化。在这个问题中,我们可以创建一个状态来存储兄弟组件的props,然后在子组件中调用这个状态来获取props。
首先,我们需要在父组件中创建一个状态来存储兄弟组件的props:
```jsx // 父组件 import React from 'react'; import ChildComponent from './ChildComponent';
function ParentComponent() { const [props, setProps] = React.useState([]);
return (
); }export default ParentComponent; ```
然后,我们需要在子组件中使用这个状态来获取props:
```jsx // 子组件 import React from 'react';
function ChildComponent(props) { return (
); }{props.name}
{props.age}
export default ChildComponent; ```
在子组件中,我们可以使用React的map函数来遍历props并将其传递给子组件:
```jsx // 子组件 import React from 'react';
function ChildComponent(props) { return (
); }{props.name}
{props.age}
export default ChildComponent; ```
在这个例子中,我们创建了一个名为
props的状态,它包含了兄弟组件的props。然后,我们在子组件中遍历这个状态并将其传递给子组件。最后,我们可以在父组件中调用这个状态来获取props:
```jsx // 父组件 import React from 'react'; import ChildComponent from './ChildComponent';
function ParentComponent() { const [props, setProps] = React.useState([]);
return (
); }export default ParentComponent; ```
这样,我们就成功地将兄弟组件的props传递给了本组件,并解决了本组件内遍历请求的异步问题并将请求结果传给子组件。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

