1. Stati c object
Чтобы создать контекст на основе объекта stati c, я использую этот код:
import React, { createContext } from 'react';
const user = {uid: '27384nfaskjnb2i4uf'};
const UserContext = createContext(user);
export default UserContext;
Этот код отлично работает.
2. Dynami c object
Но если мне нужно создать контекст после извлечения данных, я использую этот код:
import React, { createContext } from 'react';
const UserContext = () => {
// Let's suppose I fetched data and got user object
const user = {uid: '18937829FJnfmJjoE'};
// Creating context
const context = createContext(user);
// Returning context
return context;
}
export default UserContext;
Проблема
Когда я отлаживаю опцию 1, console.log(user)
возвращает объект. Вместо этого, опция 2, console.log(user)
возвращает undefined
. Чего мне не хватает?
import React, { useEffect, useState, useContext } from 'react';
import UserContext from './UserContext';
const ProjectSelector = (props) => {
const user = useContext(UserContext);
console.log(user);
return(...);
}
export default App;