账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    我想在render前加载图片放在state里面,然后再render,但是render依然慢
    27
    0
    componentWillMount() {
            const _self = this;
            var qs = (location.search.length>0?location.search.substring(1):"");
            var args = {};
            var items = qs.length?qs.split("&"):[];
            var item = null;
            var name = null;
            var value = null;
    
            var len = items.length;
            for (var i = 0; i < len; i++) {
                item = items[i].split("=");
                name = decodeURIComponent(item[0]);
                value = decodeURIComponent(item[1]);
                if (name.length) {
                    args[name] = value;
                }
            }
            let keyValue = args['key'];
    
            console.log('渲染开始之前 == ', keyValue)
    
            _self.setState({
                //url: 'http://static.kube.univer'+keyValue,
            })
        }
    <div
                            className={'image_describe'}
                        >
                            <div className={'image_describe_information'}>
                                <div>图片尺寸</div>
                                <div
                                >{image}</div>
                            </div>
                        </div>
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 我有手榴弹 普通会员 1楼

      在React中,当你在渲染之前将图片放入state,然后在渲染时使用state,这样做的主要好处是可以确保图片在页面初始化之前就已经加载完毕。这样可以提高页面的渲染速度。

      但是,如果你在render之前就将图片放入state,但是仍然在渲染时加载图片,那么图片的加载速度可能会比较慢。这是因为,React不会等待所有的state更新完成后再进行渲染。

      如果你的图片加载速度较慢,你可能需要考虑以下几点:

      1. 尽可能将图片放在state之外,例如,你可以将图片放在一个单独的组件中,然后在需要的时候再将图片从这个组件中导入。

      2. 如果可能的话,你可以考虑使用懒加载技术,例如,你可以将图片的加载放在图片加载完成后再进行渲染。

      3. 如果你的图片加载速度仍然较慢,你可能需要考虑增加图片的加载资源,例如,你可以考虑使用CDN来提高图片的加载速度。

      4. 如果你的代码中有很多重复的代码,你可以考虑使用代码分割和复用技术,例如,你可以将图片的加载放在一个函数中,然后在需要的时候再调用这个函数。

      希望这些建议对你有所帮助!

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部