为什么Image.resolveAssetSource()没有在react native中返回高度和宽度?

时间:2018-10-28 06:11:42

标签: android ios reactjs react-native ecmascript-6

我最近转到了反应原生,并希望获取 uri 图片的大小。我查看了反应原生 documentation,发现了this方法:

Image.resolveAssetSource();

当我将其用于静态图像(require())时,它可以正常工作并返回height和width属性以及其他有用的属性,但是当我将其用于动态图像时({uri:'www.abc.com/image'}),它仅返回对象中包含的 uri 属性,但不返回 height 和< strong> width 属性。

我本以为可能是我做错了事,但实际上documentation提到:

  

ImageSource是一个类似{uri:'http location ||文件路径'}

那为什么它不能用于 uri ?谁能告诉?

2 个答案:

答案 0 :(得分:1)

要获取远程图像尺寸,请使用Image.getSize(uri, success, failure)

用法示例:

Image.getSize(
    'https://link-to-image',
    (width, height) => {
        console.log(`Width: ${width}, Height: ${height}`);
    },
    (error) => console.error(error)
);

答案 1 :(得分:0)

Image.resolveAssetSource()不能通过设计从远程图像获取尺寸,并且不能用于获取尺寸,而只能用于从require()解析图像,该图像在jsbundle中并且在构建捆绑包作为奖励时具有尺寸信息。 >