From 6032e3533fa01cb722d750db13419406da344ae0 Mon Sep 17 00:00:00 2001
From: Kamal Wickramanayake <kamal@inbox.lk>
Date: Wed, 1 Jul 2026 15:30:09 +0530
Subject: React sample apps: useEffect hook, Axios api calls

---
 react/05-useeffect/src/App.jsx | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 react/05-useeffect/src/App.jsx

(limited to 'react/05-useeffect/src/App.jsx')

diff --git a/react/05-useeffect/src/App.jsx b/react/05-useeffect/src/App.jsx
new file mode 100644
index 0000000..4caa969
--- /dev/null
+++ b/react/05-useeffect/src/App.jsx
@@ -0,0 +1,37 @@
+import { useEffect, useState } from 'react'
+import reactLogo from './assets/react.svg'
+import viteLogo from './assets/vite.svg'
+import heroImg from './assets/hero.png'
+import './App.css'
+
+function App() {
+  const [count, setCount] = useState(0)
+
+  useEffect(() => {
+    console.log('This runs on every render');
+  });
+
+  useEffect(() => {
+    console.log('This runs only once when the component mounts');
+  }, []);
+
+  useEffect(() => {
+    console.log(`This runs on mount and whenever count changes`);
+  }, [count]);
+
+  return (
+    <>
+
+      <button
+        type="button"
+        className="counter"
+        onClick={() => setCount((count) => count + 1)}
+      >
+        Count is {count}
+      </button>
+
+    </>
+  )
+}
+
+export default App
-- 
cgit v1.2.3

