#reactjs #context-api
#reactjs #реагировать-контекст
Вопрос:
Я также хочу знать, могу ли я уничтожить дочерние элементы так, как я это сделал, или мне нужно передать props, а затем сказать «props.children»
import React, { createContext, useState } from "react";
export const UserContext = createContext();
export const UserContextProvider = ({ children }) => {
const [user, setUser] = useState(true);
return (
<UserContext.Provider values={{ user, setUser }}>
{children}
</UserContext.Provider>
);
};
Я также обернул компонент приложения с помощью «UserContextProvider»
import React, { useContext } from "react";
import { UserContext } from "../../context/userContext";
export const Main = () => {
const { user } = useContext(UserContext);
return (
<main>
<div className="main__postButton">
{user ? () : ()}
</div>
</main>
);
};
Я получаю следующую ошибку.
Cannot destructure property 'user' of 'Object(...)(...)' as it is undefined.
Комментарии:
1. У вас опечатка:
values=
должно бытьvalue=
2. тот, что выше, и вы действительно поместили
UserContextProvider
в дерево?3. Спасибо @NicholasTower. Это было так глупо.
4. @JulianKleine Да, я это сделал, теперь все работает нормально.