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 (