Skip to content

Commit 55d5a31

Browse files
committed
Context API
1 parent 3a7d4e8 commit 55d5a31

File tree

6 files changed

+35
-48
lines changed

6 files changed

+35
-48
lines changed

Helper/Context.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
"use client"
2+
import React, { createContext } from 'react'
3+
export const MyContext = createContext()
4+
const Context = ({ children }) => {
5+
const username = "Code with dp"
6+
return (
7+
<div><MyContext.Provider value={username} >
8+
{children}
9+
</MyContext.Provider></div>
10+
)
11+
}
12+
13+
export default Context

app/Components/Header.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import React, { useContext } from 'react'
2+
import { MyContext } from '@/Helper/Context'
3+
const Header = () => {
4+
const username=useContext(MyContext)
5+
return (
6+
<div><h1>The name of this webiste is {username}</h1></div>
7+
)
8+
}
9+
10+
export default Header

app/[id]/page.js

Lines changed: 0 additions & 22 deletions
This file was deleted.

app/globals.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
@tailwind utilities;
44

55
body{
6-
padding: 50px;
6+
padding: 5px;
77
}

app/layout.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import MyContext from "@/Helper/Context";
12
import "./globals.css";
23
export const metadata = {
34
title: "React Advanced",
@@ -7,7 +8,9 @@ export const metadata = {
78
export default function RootLayout({ children }) {
89
return (
910
<html lang="en">
10-
<body suppressContentEditableWarning>{children}</body>
11+
<body suppressContentEditableWarning>
12+
<MyContext>{children}</MyContext>
13+
</body>
1114
</html>
1215
);
1316
}

app/page.js

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,14 @@
11
"use client"
2-
import axios from 'axios'
3-
import Link from 'next/link'
4-
import React, { useEffect, useState } from 'react'
5-
2+
import React, { useContext } from 'react'
3+
import { MyContext } from '@/Helper/Context'
4+
import Header from './Components/Header'
65
const page = () => {
7-
8-
const [users, setusers] = useState([])
9-
10-
const getUsers = async () => {
11-
const { data } = await axios.get("https://jsonplaceholder.typicode.com/users")
12-
setusers(data)
13-
// console.log(data)
14-
}
15-
16-
useEffect(() => {
17-
getUsers()
18-
}, [])
19-
6+
const user = useContext(MyContext)
207
return (
218
<>
22-
<button onClick={getUsers} className='text-white font-bold px-4 py-2 rounded bg-green-600'>Get Data</button>
23-
<div className='bg-slate-100 p-8 mt-5'>
24-
<ul>{users.map((e,id) => {
25-
return <li key={id} >{e.username} ---<Link href={`${e.id}`}>Explore</Link></li>
26-
})}</ul>
27-
</div>
28-
</>
9+
<Header />
10+
<div className='text-black'>{user}
11+
</div></>
2912
)
3013
}
3114

0 commit comments

Comments
 (0)