diff --git a/RNTester/js/examples/Transform/TransformExample.js b/RNTester/js/examples/Transform/TransformExample.js index 1fe09ebcff1..f4c6b926a7f 100644 --- a/RNTester/js/examples/Transform/TransformExample.js +++ b/RNTester/js/examples/Transform/TransformExample.js @@ -10,69 +10,65 @@ 'use strict'; -const React = require('react'); +import React, {useEffect, useState} from 'react'; +import {Animated, StyleSheet, Text, View} from 'react-native'; -const {Animated, StyleSheet, Text, View} = require('react-native'); +import type {Node, Element} from 'react'; -class Flip extends React.Component<{}, $FlowFixMeState> { - state = { - theta: new Animated.Value(45), - }; - - componentDidMount() { - this._animate(); - } - - _animate = () => { - this.state.theta.setValue(0); - Animated.timing(this.state.theta, { +function Flip() { + const [theta] = useState(new Animated.Value(45)); + const animate = () => { + theta.setValue(0); + Animated.timing(theta, { toValue: 360, duration: 5000, useNativeDriver: false, - }).start(this._animate); + }).start(animate); }; - render() { - return ( - - - This text is flipping great. - - - On the flip side... - - - ); - } + useEffect(() => { + animate(); + }); + + return ( + + + This text is flipping great. + + + On the flip side... + + + ); } const styles = StyleSheet.create({ @@ -196,7 +192,7 @@ exports.examples = [ { title: 'Perspective, Rotate, Animation', description: 'perspective: 850, rotateX: Animated.timing(0 -> 360)', - render(): React.Element { + render(): Element { return ; }, }, @@ -204,7 +200,7 @@ exports.examples = [ title: 'Translate, Rotate, Scale', description: "translateX: 100, translateY: 50, rotate: '30deg', scaleX: 2, scaleY: 2", - render(): React.Node { + render(): Node { return ( @@ -216,7 +212,7 @@ exports.examples = [ title: 'Scale, Translate, Rotate, ', description: "scaleX: 2, scaleY: 2, translateX: 100, translateY: 50, rotate: '30deg'", - render(): React.Node { + render(): Node { return ( @@ -227,7 +223,7 @@ exports.examples = [ { title: 'Rotate', description: "rotate: '30deg'", - render(): React.Node { + render(): Node { return ( @@ -238,7 +234,7 @@ exports.examples = [ { title: 'Rotate, Scale', description: "rotate: '30deg', scaleX: 2, scaleY: 2", - render(): React.Node { + render(): Node { return ( @@ -250,7 +246,7 @@ exports.examples = [ title: 'Rotate, Scale, Translate ', description: "rotate: '30deg', scaleX: 2, scaleY: 2, translateX: 100, translateY: 50", - render(): React.Node { + render(): Node { return ( @@ -261,7 +257,7 @@ exports.examples = [ { title: 'Translate, Scale, Rotate', description: "translate: [200, 350], scale: 2.5, rotate: '-0.2rad'", - render(): React.Node { + render(): Node { return ( @@ -272,7 +268,7 @@ exports.examples = [ { title: 'Translate, Rotate, Scale', description: "translate: [-50, 35], rotate: '50deg', scale: 2", - render(): React.Node { + render(): Node { return (