我是新手,我正在通过一个简单的例子学习如何使用useContext挂钩.
让我简单地解释一下我正在做的事情:
我正在从jsonPLACEHOLDER检索数据,并且希望通过useContext将检索到的对象传递给另一个组件(因此不使用props ).
我得到的100分如下:
'UsersContext' is not defined个
代码如下:
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>)
}
</>
);
}