summaryrefslogtreecommitdiff
path: root/src/core/components/elements/DelayRender
diff options
context:
space:
mode:
authorIT Fixcomart <it@fixcomart.co.id>2023-05-17 01:55:14 +0000
committerIT Fixcomart <it@fixcomart.co.id>2023-05-17 01:55:14 +0000
commite16d278e6c63177d488bb8b5c62cedc898906c09 (patch)
tree2b2a20ea2ac439ec2945f921f21f9160cd7b6c28 /src/core/components/elements/DelayRender
parent6608d0e62fd232cbc19f42f58d1f56cfe2ef6842 (diff)
parent0abaa462194715c25cee5fcede0da3085939b402 (diff)
Merged in master (pull request #8)
Master
Diffstat (limited to 'src/core/components/elements/DelayRender')
-rw-r--r--src/core/components/elements/DelayRender/DelayRender.jsx19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/core/components/elements/DelayRender/DelayRender.jsx b/src/core/components/elements/DelayRender/DelayRender.jsx
new file mode 100644
index 00000000..2d412be7
--- /dev/null
+++ b/src/core/components/elements/DelayRender/DelayRender.jsx
@@ -0,0 +1,19 @@
+const { useState, useEffect } = require('react')
+
+const DelayRender = ({ renderAfter = 200, children }) => {
+ const [renderComponent, setRenderComponent] = useState(false)
+
+ useEffect(() => {
+ const renderTimeout = setTimeout(() => {
+ setRenderComponent(true)
+ }, renderAfter)
+
+ return () => {
+ clearTimeout(renderTimeout)
+ }
+ }, [renderAfter])
+
+ return renderComponent && children
+}
+
+export default DelayRender