DelayedRenderer component implemented

This commit is contained in:
nklhrstv 2022-07-07 23:00:40 +03:00
parent 6b20949f68
commit e4486ea8e0
3 changed files with 26 additions and 0 deletions

View 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;

View file

@ -0,0 +1,3 @@
const DelayedRenderer = require('./DelayedRenderer');
module.exports = DelayedRenderer;

View file

@ -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,