Zjistěte, jak může reakce na akce uživatelů pomocí animace zvýšit zapojení.

Animace by měly být živé. Pro animace React Native můžete vytvořit poutavé uživatelské prostředí tím, že je necháte reagovat na interakci uživatele. Tyto interakce mohou být přímo od uživatele nebo mohou být uvedeny do pohybu nepřímo určitými změnami.

Porozumění dotykovým událostem a gestům v React Native

Nativní prvky React jsou schopny reagovat na dotyky a gesta uživatele. React Native Gesture Responder dokáže detekovat tyto dotykové události a gesta.

Gesture Responder vybavuje mnoho komponent v rámci knihovny React Native touto funkcí, jako je např Knoflík a Dotyková neprůhlednost komponenty, které reagují na stisk nebo klepnutí.

Gesture Responder však vybavuje pouze jednoduché komponenty jednoduchými gesty. Ke zpracování a detekci složitějších dotykových událostí používá React Native rozhraní PanResponder API. Umožňuje vytvářet vlastní rozpoznávače gest, které reagují na složitější dotykové interakce, jako je svírání, otáčení nebo přetahování.

instagram viewer

Rozhraní PanResponder API může definovat, jak bude vaše aplikace reagovat na tato gesta, když je přijme, nastavením zpětných volání pro kteroukoli z konkrétních dotykových událostí.

Spouštění animací s dotykovými událostmi

Dotykové události jsou nejběžnější formou interakce uživatele s mobilní aplikací. Můžete se rozhodnout spouštět určité animace v reakci na konkrétní události dotyku uživatele.

S Animované API React Native pro animaci různých komponent, můžete detekovat dotykové události a pracovat s nimi a spouštět animace na základě interakcí uživatele.

Můžete například použít Animated API k animaci neprůhlednosti a Dotyková neprůhlednost při stisknutí tlačítka vytvoří efekt roztmívání:

import Reagovat, { useState, useRef } z'reagovat';
import { Zobrazit, TouchableOpacity, Animated } z'react-native';

konst AnimatedButton = () => {
// Použijte useRef pro přístup k Animated. Instance hodnoty
konst opacityValue = useRef(Nový Animovaný. Hodnota(1)).aktuální;

konst rukojeťStiskněte = () => {
Animated.timing (opacityValue, {
toValue: 0.5,
doba trvání: 500,
useNativeDriver: skutečný,
}).Start();
}

vrátit se (

neprůhlednost: opacityValue }}>

{/* Komponenta vašeho tlačítka */}
</TouchableOpacity>
</Animated.View>
</View>
);
}

vývoznívýchozí AnimatedButton;

V tomto příkladu je opacityValue je příkladem Animovaný. Hodnota který představuje neprůhlednost tlačítka. Když stisknete tlačítko, rukojeťPress spustí funkci, která spustí animaci pomocí Animated.timing() animovat neprůhlednost tlačítka.

Spouštění animací se změnami stavu

Dalším přístupem, který můžete použít, je spouštět animace na základě určitých změn stavu ve vaší aplikaci. Animované API můžete použít ke spouštění animací v reakci na mnoho změn stavu, jako je změna polohy, velikosti nebo obsahu komponenty.

Můžete například použít useState a useEffect háčky spustit takovou animaci:

import Reagovat, { useState, useEffect } z'reagovat';
import { Zobrazit, Animovaný, Tlačítko, Text } z'react-native';

konst MyComponent = () => {
konst [fadeAnim, setFadeAnim] = useState(Nový Animovaný. Hodnota(0));
konst [text, setText] = useState('Ahoj světe');

useEffect(() => {
// Použijte háček useEffect ke spuštění animace ve stavu 'text'
// Změny
startAnimation();
}, [text]);

konst startAnimation = () => {
Animated.timing(
fadeAnim,
{
toValue: 1,
doba trvání: 1000,
useNativeDriver: skutečný,
}
).Start();
};

vrátit se (

neprůhlednost: fadeAnim }}>
{text}</Text>
</Animated.View>

vývoznívýchozí MyComponent;

V tomto příkladu je useEffect hook spustí animaci vždy, když je hodnota stavu text Změny. The useEffect hook bere funkci zpětného volání jako svůj první argument, který se spustí vždy, když jsou závislosti specifikované ve druhém argumentu (v tomto případě [text]) změna. Uvnitř useEffect háček, startAnimation() spustí a spustí animaci prolínání.

Dynamické animace oživí vaši aplikaci

Začlenění dynamických animací do vaší aplikace React Native značně vylepší uživatelský zážitek a vaše aplikace bude interaktivnější. Díky výkonu dotykových událostí, gest a systému odezvy na gesta můžete vytvářet plynulé a citlivé animace.

Díky využití Animated API a správě stavů animace pomocí háčků, jako je useState a useEffect, můžete také snadno spouštět animace na základě změn stavu vaší aplikace.