Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.8k views
in Technique[技术] by (71.8m points)

javascript - React Context Consumer does not update with Hooks state

I am using React Context Provider and Consumer in order to pass data from my App component to its children.

My Context is called CurrentUserContext. I declare it like this:

const CurrentUserContext = React.createContext();

and export it like this:

export default CurrentUserContext;

I am wrapping my App component with CurrentUserContext.Provider and passing as the value a stateful data I declare like this:

const [loggedUser, setLoggedUser] = useState(null);

When I want a child component to use the data, I wrap it with CurrentUserContext.Consumer.

It all works perfectly fine, but for some reason, when I update loggedUser using setLoggedUser (in useEffect for example), the consumers does not get re-rendered.

Does anyone know why?

I want every time that I update loggedUser using setLoggedUser, the relevant components (the consumers) will re-render.

Does anyone know what doesn't it work?

Thank you!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...