aboutsummaryrefslogtreecommitdiff
path: root/demos/react-fast-refresh-test/src/components
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-06-20 18:15:13 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-06-20 18:15:13 -0700
commitd09194f05a372e3ed136aa288ae76cae8c1dc641 (patch)
treeab7e49f9793bc493d89274773d444ac59c0d3163 /demos/react-fast-refresh-test/src/components
parent6fbfd696990e77020a3d7359fdcbc3e01de40a60 (diff)
downloadbun-d09194f05a372e3ed136aa288ae76cae8c1dc641.tar.gz
bun-d09194f05a372e3ed136aa288ae76cae8c1dc641.tar.zst
bun-d09194f05a372e3ed136aa288ae76cae8c1dc641.zip
Support live-reload and fallback
Former-commit-id: c3f9d77391589b65951616a632af87107fba469f
Diffstat (limited to 'demos/react-fast-refresh-test/src/components')
-rw-r--r--demos/react-fast-refresh-test/src/components/RenderCounter.tsx21
-rw-r--r--demos/react-fast-refresh-test/src/components/app.tsx14
-rw-r--r--demos/react-fast-refresh-test/src/components/button.tsx38
-rw-r--r--demos/react-fast-refresh-test/src/components/new-comp.tsx3
4 files changed, 40 insertions, 36 deletions
diff --git a/demos/react-fast-refresh-test/src/components/RenderCounter.tsx b/demos/react-fast-refresh-test/src/components/RenderCounter.tsx
new file mode 100644
index 000000000..ed2f00b56
--- /dev/null
+++ b/demos/react-fast-refresh-test/src/components/RenderCounter.tsx
@@ -0,0 +1,21 @@
+import React from "react";
+
+export function RenderCounter({ name, children }) {
+ const counter = React.useRef(1);
+ return (
+ <div className="RenderCounter">
+ <div className="RenderCounter-meta">
+ <div className="RenderCounter-title">
+ {name} rendered <strong>{counter.current++} times</strong>
+ </div>
+ <div className="RenderCounter-lastRender">
+ LAST RENDER:{" "}
+ {new Intl.DateTimeFormat([], {
+ timeStyle: "long",
+ }).format(new Date())}
+ </div>
+ </div>
+ <div className="RenderCounter-children">{children}</div>
+ </div>
+ );
+}
diff --git a/demos/react-fast-refresh-test/src/components/app.tsx b/demos/react-fast-refresh-test/src/components/app.tsx
new file mode 100644
index 000000000..2edc02545
--- /dev/null
+++ b/demos/react-fast-refresh-test/src/components/app.tsx
@@ -0,0 +1,14 @@
+import * as React from "react";
+import { Button } from "./Button";
+import { RenderCounter } from "./RenderCounter";
+export function App() {
+ return (
+ <RenderCounter name="App">
+ <div className="AppRoot">
+ <h1>This is the root element</h1>
+
+ <Button>Click</Button>
+ </div>
+ </RenderCounter>
+ );
+}
diff --git a/demos/react-fast-refresh-test/src/components/button.tsx b/demos/react-fast-refresh-test/src/components/button.tsx
index 3f55fae34..4c3388670 100644
--- a/demos/react-fast-refresh-test/src/components/button.tsx
+++ b/demos/react-fast-refresh-test/src/components/button.tsx
@@ -1,37 +1,9 @@
-import React from "react";
-import { NewComponent } from "./new-comp";
-
-const Toast = () => {
- const [baconyes, baconno] = useBacon();
- return <div>false</div>;
-};
-const Button = ({ label, label2, onClick }) => {
- const useCustomHookInsideFunction = (what, arr) => {
- return [true, false];
- };
- const [on, setOn] = React.useState(false);
-
- React.useEffect(() => {
- console.log({ on });
- }, [on]);
-
- // const [foo1, foo2] = useCustomHookInsideFunction(() => {}, [on]);
+import { RenderCounter } from "./RenderCounter";
+export const Button = ({ children }) => {
return (
- <div className="Button" onClick={onClick}>
- <Toast>f</Toast>
- <div className="Button-label">{label}12</div>
- <NewComponent />
- </div>
+ <RenderCounter name="Button">
+ <div className="Button">{children}</div>
+ </RenderCounter>
);
};
-
-const Bacon = Button;
-
-export { Bacon, Bacon as Button };
-
-const RefreshLike = () => {};
-
-const useBacon = () => {
- return [1, 8];
-};
diff --git a/demos/react-fast-refresh-test/src/components/new-comp.tsx b/demos/react-fast-refresh-test/src/components/new-comp.tsx
deleted file mode 100644
index f09c64a54..000000000
--- a/demos/react-fast-refresh-test/src/components/new-comp.tsx
+++ /dev/null
@@ -1,3 +0,0 @@
-export const NewComponent = () => {
- return <div>NEW!</div>;
-};