所以我最近开始使用 React 并且正在学习 Context Api。我的代码的热情是:
export const UsersContext = createContext();
export function UsersProvider(props) {
const fetchedItem = async function () {
const data = await fetch('https://jsonplaceholder.typicode.com/users');
const users = await data.json();
setUsers(users);
};
const [users, setUsers] = useState([]);
useEffect(function () {
fetchedItem();
}, []);
return (
<UsersContext.Provider value={[users, setUsers]}>{props.children}</UsersContext.Provider>
);
}
我尝试像这样导入和迭代用户数组:
import { UsersContext, UsersProvider } from './UsersContext';
export default function UsersPage() {
const [users, setUsers] = useContext(UsersContext);
return (
<UsersProvider>
{users.map(function (user) {
//I do something with user object});}
</UsersProvider>
问题是这不起作用,我不确定在网上搜索它的术语是什么。我明白TypeError: Object is not iterable (cannot read property Symbol(Symbol.iterator))
这对我来说意味着那users
不是一个数组?但就我而言,它是。任何修复/调试此问题的建议?