Image
La traduction de cette page manque ou n'est plus à jour : elle s'affiche en anglais. Lire en anglais
Display a bundled, remote or local-file image. Use it for avatars, covers and photos returned by the picker or camera.
Load a cover without a blank flash
import { Image } from 'kuito';
export default function Cover() {
return (
<Image
src="https://example.com/cover.jpg"
width={160}
aspectRatio={1}
borderRadius={8}
placeholder="#1e293b"
fadeDuration={250}
/>
);
}Behavior
Give the image dimensions or an aspect ratio so layout can reserve space before download. placeholder fills the waiting area and fadeDuration controls its reveal. Remote images use native caching; image.prefetch warms the cache.
Props
| Prop | Meaning |
|---|---|
src |
A URL string, { uri, headers? }, or an imported image (assets). |
objectFit |
CSS's object-fit: cover (default), contain, fill or none. |
tintColor |
Recolors opaque pixels, for icons. |
onLoadStart / onLoadEnd |
Around every load, success or failure. |
onLoad |
{ width, height } of the image in pixels. |
onError |
{ error }, e.g. "HTTP 404". |
aspectRatio (Kuito) |
Width ÷ height: sizes the view before the image arrives. |
placeholder (Kuito) |
Color shown while loading. |
thumbhash (Kuito) |
A base64 ThumbHash: its blurred preview shows while loading, over placeholder. |
fadeDuration (Kuito) |
Cross-fade in milliseconds when the image appears; 0 by default. |
cache (Kuito) |
memory-disk (default), memory, disk or none. |
Continue
Read Assets for a complete workflow. See the complete prop reference for types and documented defaults.
Référence
Signatures
Props: ImageProps
Props (props héritées incluses) 96
| Nom | Type | Requis | Description |
|---|---|---|---|
onLoadStart | (event: KuitoEvent<"loadstart">) => void | Non | — |
onLoad | (event: ImageLoadEvent) => void | Non | — |
onError | (event: ImageErrorEvent) => void | Non | — |
onLoadEnd | (event: KuitoEvent<"loadend">) => void | Non | — |
id | string | Non | — |
ref | ElementRef<ElementHandle> | Non | — |
class | Prop<ClassNames> | Non | Class names from a .css import or styles(): a string, or a list with falsy entries skipped, following the signals it reads. |
style | StyleDeclarations | Non | Styles of this view alone, compiled at build time: CSS properties in
camelCase. A value that changes must set a native prop (opacity). |
onPress | (event: PressEvent) => void | Non | — |
onPressCapture | (event: PressEvent) => void | Non | — |
key | string | number | Non | — |
padding | Prop<LengthPercentage> | Non | — |
paddingTop | Prop<LengthPercentage> | Non | — |
paddingRight | Prop<LengthPercentage> | Non | — |
paddingBottom | Prop<LengthPercentage> | Non | — |
paddingLeft | Prop<LengthPercentage> | Non | — |
width | Animatable<SizeValue> | Non | — |
height | Animatable<SizeValue> | Non | — |
minWidth | Prop<SizeValue> | Non | — |
maxWidth | Prop<SizeValue> | Non | — |
minHeight | Prop<SizeValue> | Non | — |
maxHeight | Prop<SizeValue> | Non | — |
aspectRatio | Prop<number> | Non | Width divided by height; sizes the missing side from the other. |
position | Prop<"relative" | "absolute"> | Non | — |
top | Prop<LengthPercentageAuto> | Non | — |
right | Prop<LengthPercentageAuto> | Non | — |
bottom | Prop<LengthPercentageAuto> | Non | — |
left | Prop<LengthPercentageAuto> | Non | — |
margin | Prop<LengthPercentageAuto> | Non | — |
marginTop | Prop<LengthPercentageAuto> | Non | — |
marginRight | Prop<LengthPercentageAuto> | Non | — |
marginBottom | Prop<LengthPercentageAuto> | Non | — |
marginLeft | Prop<LengthPercentageAuto> | Non | — |
flexGrow | Prop<number> | Non | — |
flexShrink | Prop<number> | Non | — |
flexBasis | Prop<SizeValue | "content"> | Non | — |
flex | Prop<number> | Non | A grow factor from a zero basis, as CSS flex: n; 0 is inflexible. |
alignSelf | Prop<"auto" | SelfAlignment> | Non | — |
direction | Prop<"ltr" | "rtl"> | Non | The way lines run; unset, the parent's, and the app's first language's at the root. |
boxSizing | Prop<"border-box" | "content-box"> | Non | — |
paddingInlineStart | Prop<LengthPercentage> | Non | Padding on the side lines start from: the left in ltr, the right in rtl. |
paddingInlineEnd | Prop<LengthPercentage> | Non | Padding on the side lines end at: the right in ltr, the left in rtl. |
marginInlineStart | Prop<LengthPercentageAuto> | Non | Margin on the side lines start from: the left in ltr, the right in rtl. |
marginInlineEnd | Prop<LengthPercentageAuto> | Non | Margin on the side lines end at: the right in ltr, the left in rtl. |
insetInlineStart | Prop<LengthPercentageAuto> | Non | left in ltr, right in rtl. |
insetInlineEnd | Prop<LengthPercentageAuto> | Non | right in ltr, left in rtl. |
role | Prop<Role> | Non | — |
onAction | (event: AccessibilityActionEvent) => void | Non | The screen reader action taken, by name. |
accessible | Prop<boolean> | Non | Makes the view one screen reader element, read as its label or its children's text. |
label | Prop<string> | Non | What a screen reader says for the view. |
hint | Prop<string> | Non | What happens when the view is activated, read after the label. |
actions | Prop<readonly AccessibilityAction[]> | Non | Actions a screen reader offers; onAction receives the one taken. |
live | Prop<"off" | "polite" | "assertive"> | Non | ARIA's aria-live: announces changes to the view's content, on iOS too. |
aria-disabled | Prop<boolean> | Non | — |
aria-selected | Prop<boolean> | Non | — |
aria-checked | Prop<boolean | "mixed"> | Non | — |
aria-busy | Prop<boolean> | Non | — |
aria-expanded | Prop<boolean> | Non | — |
aria-valuemin | Prop<number> | Non | — |
aria-valuemax | Prop<number> | Non | — |
aria-valuenow | Prop<number> | Non | — |
aria-valuetext | Prop<string> | Non | — |
gestures | readonly Composable[] | Non | The view's gestures; several race unless composed with together or orElse. |
opacity | Animatable<number> | Non | — |
backgroundColor | Animatable<string> | Non | — |
translateX | Animatable<number> | Non | — |
translateY | Animatable<number> | Non | — |
scale | Animatable<number> | Non | — |
scaleX | Animatable<number> | Non | — |
scaleY | Animatable<number> | Non | — |
rotate | Animatable<number> | Non | Degrees. |
transition | Partial<Record<"opacity" | "backgroundColor" | "transform" | "borderRadius" | "borderColor" | "shadow" | "width" | "height" | "all", Animation<unknown> | AnimationSpec>> | Non | How the animatable props move when they change, enter or leave, by group; a CSS transition compiles to it. |
animate | Partial<Record<AnimatableProps, string | number>> | Non | Animatable props whose every change moves as transition says; the first value applies at once. |
enter | Effect | Non | Where the view enters from: fade.and(slide.up(12)). |
exit | Prop<Effect> | Non | Where the view leaves to; it stays on screen until it is there. The renderer gets true, and keeps the view until exited. |
layout | Animation<number> | Non | How the view moves to a new frame the layout gives it: layout={spring()}. |
borderRadius | Animatable<number> | Non | — |
overflow | Prop<"visible" | "hidden" | "clip" | "scroll"> | Non | hidden and scroll clip; as in CSS, either lets a flex item shrink below its content. |
borderWidth | Prop<number> | Non | — |
borderColor | Animatable<string> | Non | — |
shadowColor | Animatable<string> | Non | — |
shadowRadius | Animatable<number> | Non | — |
shadowOffsetX | Animatable<number> | Non | — |
shadowOffsetY | Animatable<number> | Non | — |
backgroundGradient | { angle: number; colors: string[];} | Non | — |
color | Prop<string> | Non | — |
sharedId | Prop<string> | Non | A view the navigation stack flies to the view with the same sharedId on the screen it pushes or pops to (docs/navigation.md#shared-elements). |
src | Prop<ImageSource> | Non | A URL, or a bundled image as its import gives it. |
objectFit | Prop<"none" | "cover" | "contain" | "fill"> | Non | CSS's object-fit: cover fills and crops, contain fits, fill distorts, none keeps its size, centered. |
placeholder | Prop<string> | Non | Color shown while the image loads. |
fadeDuration | Prop<number> | Non | Cross-fade duration in milliseconds when the image appears; 0 by default. |
tintColor | Prop<string> | Non | Recolors the image's opaque pixels, for icons. |
cache | Prop<"none" | "memory-disk" | "memory" | "disk"> | Non | Which caches may serve and keep the image; memory-disk by default. |
thumbhash | Prop<string> | Non | A ThumbHash of the image, in base64: its blurred preview shows, over placeholder, until the image loads. |
onLoadStart — signatures de méthode
Signatures
(event: KuitoEvent<"loadstart">): voidParamètres
| Nom | Type | Requis | Description |
|---|---|---|---|
event | KuitoEvent<"loadstart"> | Oui | — |
Retourne
void
onLoad — signatures de méthode
Signatures
(event: ImageLoadEvent): voidParamètres
| Nom | Type | Requis | Description |
|---|---|---|---|
event | ImageLoadEvent | Oui | — |
Retourne
void
onError — signatures de méthode
Signatures
(event: ImageErrorEvent): voidParamètres
| Nom | Type | Requis | Description |
|---|---|---|---|
event | ImageErrorEvent | Oui | — |
Retourne
void
onLoadEnd — signatures de méthode
Signatures
(event: KuitoEvent<"loadend">): voidParamètres
| Nom | Type | Requis | Description |
|---|---|---|---|
event | KuitoEvent<"loadend"> | Oui | — |
Retourne
void
onPress — signatures de méthode
Signatures
onPressCapture — signatures de méthode
Signatures
onAction — signatures de méthode
Signatures
(event: AccessibilityActionEvent): voidParamètres
| Nom | Type | Requis | Description |
|---|---|---|---|
event | AccessibilityActionEvent | Oui | — |
Retourne
void
backgroundGradient — champs imbriqués
backgroundGradient champs
| Nom | Type | Requis | Description |
|---|---|---|---|
angle | number | Oui | — |
colors | string[] | Oui | — |
Généré depuis les déclarations TypeScript publiques : signatures, props et valeurs par défaut viennent de la source vérifiée, les descriptions de sa JSDoc. Aucune valeur par défaut n'est inventée.