diff --git a/src/App.tsx b/src/App.tsx
index 76166f5..bea883c 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,10 +1,19 @@
-import { createSignal, For, Show } from "solid-js";
+import { createContext, createSignal, For, Show } from "solid-js";
import { Dynamic } from "solid-js/web";
import { FooComponent } from "./Foo";
import { NewFooComponent } from "./NewFoo";
-import { ActionComponent} from "./Action";
+import { ActionComponent } from "./Action";
import { Router, Route } from "@solidjs/router";
+export const MyContext = createContext();
+const Provider = (props) => {
+ const [value, setValue] = createSignal("okay, hier sind wir");
+ return (
+
+ {props.children}
+
+ )
+}
const RedDiv = () =>
Red
;
const GreenDiv = () => Green
;
@@ -48,24 +57,26 @@ function App() {
return (
<>
-
-
-
-
-
- blue background
-
-
-
- } />
-
+
+
+
+
+
+
+ blue background
+
+
+
+ } />
+
+
>
);
}
diff --git a/src/CtxTest.tsx b/src/CtxTest.tsx
new file mode 100644
index 0000000..e1fd51d
--- /dev/null
+++ b/src/CtxTest.tsx
@@ -0,0 +1,16 @@
+import { createSignal, useContext, createResource, Switch, Match, Show } from "solid-js"
+import { MyContext } from "./App";
+
+export function CtxTest() {
+ const [value, setValue] = useContext(MyContext);
+ setTimeout(()=>{
+ setValue("Wir haben den Context aus der Tiefe des Komponentenbaums geƤndert!");
+ },3000);
+ return (
+ <>
+
+ {value}
+
+ >
+ )
+}
diff --git a/src/NewFoo.tsx b/src/NewFoo.tsx
index 0d0fe7d..4883ebc 100644
--- a/src/NewFoo.tsx
+++ b/src/NewFoo.tsx
@@ -1,40 +1,45 @@
-import {createSignal, createResource, Switch, Match, Show} from "solid-js"
+import { createSignal, useContext, createResource, Switch, Match, Show } from "solid-js"
+import { MyContext } from "./App";
+import { CtxTest } from "./CtxTest";
const fetchUser = async () => {
- const response = await fetch('');
- return new Promise((resolve) => {
- setTimeout(() => {
- resolve(["abc", "def", "ghi"]);
- }, 3000); // 2 Sekunden Delay
- });
+ const response = await fetch('');
+ return new Promise((resolve) => {
+ setTimeout(() => {
+ resolve(["abc", "def", "ghi"]);
+ }, 3000); // 2 Sekunden Delay
+ });
}
-function NewFooComponent(){
- const [userId, setUserId] = createSignal();
- const [user, { mutate }] = createResource(userId, fetchUser);
+function NewFooComponent() {
+ const [userId, setUserId] = createSignal();
+ const [user, { mutate }] = createResource(userId, fetchUser);
+ const [value,setValue] = useContext(MyContext);
- setTimeout(()=>{
- setUserId(5);
- },2000);
- return (
- <>
-
- Loading...
-
-
-
- Error: {user.error}
-
-
- {JSON.stringify(user())}
-
-
-
- New Foo
-
-
- >
- );
+ setTimeout(() => {
+ setUserId(5);
+ }, 2000);
+ return (
+ <>
+ --- {value}
+
+ Loading...
+
+
+
+ Error: {user.error}
+
+
+ {JSON.stringify(user())}
+
+
+
+ New Foo
+
+
+
+ >
+ );
}
-export{ NewFooComponent }
+export { NewFooComponent }