I'm new to React and I'm learning, through a simple example, how to use the useContext hook.
Let me briefly explain what I'm doing:
I'm retrieving data from jsonplaceholder and I want to pass the retrieved object, through useContext, to another component (therefore without using props).
The error I get is the following:
'UsersContext' is not defined
The code is the following:
App.js
import React, { useEffect, useState, createContext } from 'react';
export default function App() {
const [users, setUsers] = useState([]);
const UsersContext = createContext();
useEffect(async () => {
await fetch('https://jsonplaceholder.typicode.com/users')
.then(response => response.json())
.then(json => setUsers(json))
}, [])
return (
<UsersContext.Provider value={users}>
<h1>Hello</h1>
<ListUser />
</UsersContext.Provider>
)
}
ListUser.js
import ListUser1 from './ListUser1';
export default function ListUser(props) {
return (
<>
<h1>Component ListUser</h1>
<ListUser1 />
</>
)
}
ListUser1.js
import { useContext } from "react";
export default function ListUser1() {
const users = useContext(UsersContext);
return (
<>
<h1>Component ListUser1</h1>
{
users.map((user) =>
<h4>{user.name}</h4>)
}
</>
);
}