- 26
- 0
代码运行后疯狂执行,不知道为什么?或者说有没有更好的写法?
代码如下:
//从父组件接收
componentWillReceiveProps(nextProps) {
this.setState({
code: nextProps.capacityBlockIndex
})
}
request = (str) => {
console.log("done" + str); //控制台疯狂的输出
ajax({
url: '//api',
jsonp: 'callback',
data: {
'capabilityCode': str
},
success: (res) => {
this.setState({
taskArr: res.values
});
return;
},
error: () => { }
});
}
render(){
if(this.state.code === 0){
this.request('infor_display_ability');
}
} 0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
执手共存亡 普通会员 1楼
在React中,当你在render方法中调用一个方法时,可能会引发一些性能问题,特别是如果你的代码非常长或者有很多复杂的逻辑。
以下是一些可能导致性能问题的原因:
-
在render方法中,你可能在执行复杂的计算或者动画效果。这可能会导致浏览器的CPU和GPU资源被过度使用。
-
你可能在渲染过程中,频繁地调用了某个API或者组件。这可能会导致API的调用频率过高,从而影响性能。
-
你可能在渲染过程中,使用了React的生命周期方法。这些方法在每次组件的更新中都会被调用,这可能会消耗大量的CPU和GPU资源。
为了解决这些问题,你可以采取以下几种策略:
-
对于复杂的计算和动画效果,你可以考虑使用React的第三方库,如React-Spring或者React-Router,它们提供了更高级的渲染和动画功能,可以帮助你避免这些问题。
-
你可以尽量避免在render方法中频繁地调用了某个API或者组件。你可以将这些功能封装到一个单独的函数中,然后在需要的时候调用这个函数。
-
你可以尽量避免在render方法中使用React的生命周期方法。你可以将这些方法封装到一个单独的函数中,然后在需要的时候调用这个函数。
-
你可以考虑使用React的虚拟DOM技术,如React.memo或者React让孩子,这样可以避免React在渲染过程中进行大量的DOM操作,从而提高性能。
-
你可以考虑使用React的懒加载特性,这样可以减少不必要的组件加载,从而提高性能。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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

