mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-04 15:49:51 +00:00
DelayedRenderer component implemented
This commit is contained in:
parent
6b20949f68
commit
e4486ea8e0
3 changed files with 26 additions and 0 deletions
21
src/common/DelayedRenderer/DelayedRenderer.js
Normal file
21
src/common/DelayedRenderer/DelayedRenderer.js
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
const React = require('react');
|
||||
const PropTypes = require('prop-types');
|
||||
|
||||
const DelayedRenderer = ({ children, delay }) => {
|
||||
const [render, setRender] = React.useState(false);
|
||||
React.useEffect(() => {
|
||||
const timeout = setTimeout(() => {
|
||||
setRender(true);
|
||||
}, delay);
|
||||
return () => {
|
||||
clearTimeout(timeout);
|
||||
};
|
||||
}, []);
|
||||
return render ? children : null;
|
||||
};
|
||||
|
||||
DelayedRenderer.propTypes = {
|
||||
children: PropTypes.node
|
||||
};
|
||||
|
||||
module.exports = DelayedRenderer;
|
||||
3
src/common/DelayedRenderer/index.js
Normal file
3
src/common/DelayedRenderer/index.js
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
const DelayedRenderer = require('./DelayedRenderer');
|
||||
|
||||
module.exports = DelayedRenderer;
|
||||
|
|
@ -4,6 +4,7 @@ const AddonDetailsModal = require('./AddonDetailsModal');
|
|||
const Button = require('./Button');
|
||||
const Checkbox = require('./Checkbox');
|
||||
const ColorInput = require('./ColorInput');
|
||||
const DelayedRenderer = require('./DelayedRenderer');
|
||||
const Image = require('./Image');
|
||||
const LibItem = require('./LibItem');
|
||||
const MainNavBars = require('./MainNavBars');
|
||||
|
|
@ -45,6 +46,7 @@ module.exports = {
|
|||
Button,
|
||||
Checkbox,
|
||||
ColorInput,
|
||||
DelayedRenderer,
|
||||
Image,
|
||||
LibItem,
|
||||
MainNavBars,
|
||||
|
|
|
|||
Loading…
Reference in a new issue