import React, { useContext, createContext } from "react";
const messageContext = createContext("Hello");
const Context = () => {
const message = useContext(messageContext);
return (
<messageContext.Provider value="Hi">
<div style={{ marginTop: 1000 }}>{message}</div>
{/* Result: Hello */}
<messageContext.Consumer>
{message => {
return <div style={{ marginTop: 1000 }}>{message}</div>;
}}
</messageContext.Consumer>
{/* Result: Hi */}
</messageContext.Provider>
);
};
export { Context };
我想使用useContext()钩子,但它总是返回初始值,即“ Hello ”。
使用<messageContext.Consumer>没有问题。它返回“ Hi ”,但我想使用 useContext 挂钩。