Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

rax-image

Package Overview
Dependencies
Maintainers
1
Versions
121
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rax-image

Image component for Rax.

  • 2.4.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Image

npm

阿里内部同学推荐使用 @ali/rax-picture,对图片尺寸有很多内置的优化策略

支持

Web / Weex / 阿里小程序 / 微信小程序 / 字节跳动小程序

描述

用于展示图片

安装

$ npm install rax-image --save

引用

import Image from 'rax-image';

属性

属性类型默认值必填描述支持
sourceobject: { width: string, height: string, uri: string}-true设置图片的 uri。height和width为可选项,优先级低于style上的同名属性,一般高于其他CSS中的同名属性。browserweexminiAppwechatMiniprogrambytedanceMicroAppquickApp
styleobject: { width: number height: number }-true图片样式 width 和 height 为必填属性,否则图片无法正常展示,可以补充其他属性browserweexminiAppwechatMiniprogrambytedanceMicroAppquickApp
fallbackSourceobject: { width: string, height: string, uri: string}-false备用图片的 uri(当主图加载失败时加载)。height和width为可选项,优先级低于style上的同名属性,一般高于其他CSS中的同名属性。browserweex
loadingstring: 'eager' 'lazy'eagerfalse客户端如何加载图片,其中 Web 下需要浏览器原生支持loading属性。browserminiAppwechatMiniprogrambytedanceMicroApp
resizeModestring: 'contain' 'cover' 'stretch'-false决定当组件尺寸和图片尺寸不成比例的时候如何调整图片的大小browserweexquickApp
modeString:scaleToFillfalse小程序中的图片模式,可选项更多miniAppwechatMiniprogrambytedanceMicroApp
qualitystring: 'original' 'normal' 'low' 'high' 'auto'-false图片质量weex
placeholderstring-false占位图的 URL,在图片下载过程中将展示占位图, 图片下载完成后将显示 source 中指定的图片。weexminiApp
onClickfunction-false点击图片时的回调函数miniAppwechatMiniprogramquickApp
onLoadfunction-false图片加载成功的回调函数browserweexminiAppwechatMiniprogrambytedanceMicroAppquickApp
onErrorfunction-false图片加载失败的回调函数browserweexminiAppwechatMiniprogrambytedanceMicroAppquickApp
srcstring-false图片下载完成后将显示 src 中指定的图片。bytedanceMicroApp

onLoad onError 返回

当完成图片加载成功/失败时,将分别触发 onLoad/onError 中的回调函数 function(event) => {}

weex 下(iOS/Android)

成员类型描述
successboolean标记图片是否成功加载,成功为 1/true,失败为 0/false
sizeobject加载的图片大小对象
size.naturalWidthnumber图片宽度,如果图片加载失败则为 0/-1
size.naturalHeightnumber图片高度,如果图片加载失败则为 0/-1

Web 下是 web 原生的 Event 事件

成员类型描述
targetdom图片自身元素
target.naturalWidthnumber图片宽度
target.naturalHeightnumber图片高度

小程序下

成员类型描述
typestring事件类型
detailobject点击位置信息
targetobject点击对象属性信息
currentTargetobject同上

快应用下

成员类型描述
targetobject图片自身元素
target.data.widthnumber图片宽度
target.data.heightnumber图片高度

示例

普通示例

import { createElement, render } from 'rax';
import DriverUniversal from 'driver-universal';
import Image from '../src/index';

const App = () => {
  const imageRef = useRef(null);
  return (
    <Image
      ref={imageRef}
      source={{
        uri: 'https://gw.alicdn.com/tfs/TB1bBD0zCzqK1RjSZFpXXakSXXa-68-67.png',
      }}
      style={{
        height: '68rpx',
        width: '67rpx',
      }}
    />
  );
};

render(<App />, document.body, { driver: DriverUniversal });

使用 fallbackSource 和 resizeMode

import { createElement, render } from 'rax';
import DriverUniversal from 'driver-universal';
import Image from '../src/index';

const App = () => {
  return (
    <Image
      source={{
        uri:
          'https://gw.alicdn.com/tfs/TB1g6AvPVXXXXa7XpXXXXXXXXXX-215-215.png',
      }}
      fallbackSource={{
        uri:
          'https://gw.alicdn.com/tps/i3/TB1yeWeIFXXXXX5XFXXuAZJYXXX-210-210.png_70x70.jpg',
      }}
      style={{
        width: '100rpx',
        height: '100rpx',
      }}
      resizeMode="cover"
    />
  );
};

render(<App />, document.body, { driver: DriverUniversal });

Keywords

FAQs

Package last updated on 05 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc