Ръководства · 07

Идвате от React Native

Какво остава същото, какво се променя и какво добавя уебът.

Същите извиквания

Контролерите, графите и конфигурациите следват Animated на React Native. Рендерирайте DOM хостове като Animated.div там, където React Native рендерира Animated.View. useAnimatedValue е наличен както в React Native.

Подготовка на примера…

Разлики, които е добре да знаете

Тези детайли карат пренесения код да се държи както на устройството.

  • useNativeDriver и isInteraction се приемат. Вместо това възпроизвеждането се избира за всеки изход: подходящите изходи се възпроизвеждат от браузъра, останалите — в JavaScript.
  • spring приема stiffness/damping/mass, bounciness/speed или tension/friction, а ако не е зададено нищо — стойностите по подразбиране на React Native.
  • interpolate поддържа easing и трите режима на екстраполация.
  • Easing съответства на React Native, включително elastic. Easing.exp е мащабирана с 0,1%, за да започва точно от 0 и да може да използва възпроизвеждане в браузъра.
  • Скоростта на decay е в единици за милисекунда, а скоростта на пружината — в единици за секунда, както в React Native.
  • Animated.createAnimatedComponent обвива компонент, който препраща ref.
Spinner.jsx
// React Native
<Animated.View style={{ transform: [{ rotate }] }} />

// React DOM with @kkwaenggwari/animated — the rest is identical
<Animated.div style={{ transform: [{ rotate }] }} />

const spin = useAnimatedValue(0);
const rotate = spin.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg'] });

Animated.loop(
  Animated.timing(spin, { toValue: 1, duration: 900, easing: Easing.linear, useNativeDriver: true }),
).start();

Какво добавя уебът

Обикновеният style на React приема директно стойности на hooks, seed/pose/respond описват цели и жестове, а Animated.Keep и Animated.Scene се грижат за излизанията и оформлението.

Търсене

Пишете, за да търсите в документацията.