Skip to content

Commit

Permalink
remove createReactClass from TimerExample.js (#21623)
Browse files Browse the repository at this point in the history
Summary:
Relates to #21581
Removed `createdReactClass` from `TimerExample.js`.
Pull Request resolved: #21623

Reviewed By: hramos

Differential Revision: D10341474

Pulled By: RSNara

fbshipit-source-id: b4bf6e07fcf0355c89709809fe9a69e447b44e2f
  • Loading branch information
peaonunes authored and facebook-github-bot committed Oct 12, 2018
1 parent 7541655 commit c96c93e
Showing 1 changed file with 23 additions and 21 deletions.
44 changes: 23 additions & 21 deletions RNTester/js/TimerExample.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
'use strict';

var React = require('react');
var createReactClass = require('create-react-class');
var ReactNative = require('react-native');
var {AlertIOS, Platform, ToastAndroid, Text, View} = ReactNative;
var RNTesterButton = require('./RNTesterButton');
Expand Down Expand Up @@ -117,26 +116,29 @@ class RequestIdleCallbackTester extends React.Component<{}, $FlowFixMeState> {
};
}

var TimerTester = createReactClass({
displayName: 'TimerTester',
type TimerTesterProps = $ReadOnly<{|
dt?: number,
type: string,
|}>;

_ii: 0,
_iters: 0,
_start: 0,
_timerId: (null: ?TimeoutID),
_rafId: (null: ?AnimationFrameID),
_intervalId: (null: ?IntervalID),
_immediateId: (null: ?Object),
_timerFn: (null: ?() => any),
class TimerTester extends React.Component<TimerTesterProps> {
_ii = 0;
_iters = 0;
_start = 0;
_timerId: ?TimeoutID = null;
_rafId: ?AnimationFrameID = null;
_intervalId: ?IntervalID = null;
_immediateId: ?Object = null;
_timerFn: ?() => any = null;

render: function() {
render() {
var args = 'fn' + (this.props.dt !== undefined ? ', ' + this.props.dt : '');
return (
<RNTesterButton onPress={this._run}>
Measure: {this.props.type}({args}) - {this._ii || 0}
</RNTesterButton>
);
},
}

componentWillUnmount() {
if (this._timerId != null) {
Expand All @@ -154,18 +156,18 @@ var TimerTester = createReactClass({
if (this._intervalId != null) {
clearInterval(this._intervalId);
}
},
}

_run: function() {
_run = () => {
if (!this._start) {
var d = new Date();
this._start = d.getTime();
this._iters = 100;
this._ii = 0;
if (this.props.type === 'setTimeout') {
if (this.props.dt < 1) {
if (this.props.dt !== undefined && this.props.dt < 1) {
this._iters = 5000;
} else if (this.props.dt > 20) {
} else if (this.props.dt !== undefined && this.props.dt > 20) {
this._iters = 10;
}
this._timerFn = () => {
Expand Down Expand Up @@ -220,18 +222,18 @@ var TimerTester = createReactClass({
if (this._timerFn) {
this._timerId = this._timerFn();
}
},
};

clear: function() {
clear = () => {
if (this._intervalId != null) {
clearInterval(this._intervalId);
// Configure things so we can do a final run to update UI and reset state.
this._intervalId = null;
this._iters = this._ii;
this._run();
}
},
});
};
}

exports.framework = 'React';
exports.title = 'Timers, TimerMixin';
Expand Down

0 comments on commit c96c93e

Please sign in to comment.