I'm trying to set up a TimeOut function in my component. To my understanding, just using setTimeout as you would for the web isn't a proper answer. It would cause timing and leak memory issue.
I've read there is an existing Timers API in react-native.
However, it is not compliant with ES6, i quote :
Keep in mind that if you use ES6 classes for your React components there is no built-in API for mixins. To use TimerMixin with ES6 classes, we recommend react-mixin.
And on react-mixin, we find this message :
Note: mixins are basically dead. Only use this as a migration path for legacy code. Prefer High Order Components.
So my final question is : How do we properly use timers (setTimeOut), with react-native, in 2017 ?
Settimeout and setInterval still work in react-native. BUT you have to use it in the right way:
Here is one of many ways to implement a timeout in React that I'm usually used:
With this approach you don't have to worry about memory leak anymore. Just simple and straight forward.
There is an excellent article talking about this; you can refer to it here: https://medium.com/@machadogj/timers-in-react-with-redux-apps-9a5a722162e8
Timer is not a part of 'react-native' package
setup timer