如何在反应中使用上下文从全局状态更新子状态

时间:2020-12-22 12:13:28

标签: reactjs

我已经定义了一个上下文:

<Window x:Class="StackOverflow.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid>
        <Grid.Background>
            <ImageBrush ImageSource="/logo-stackoverflow.png" Stretch="Uniform" />
        </Grid.Background>
    </Grid>
</Window>

然后我创建了一个状态并将其放入提供程序中,包装了整个应用程序:

import React from 'react';
const HelpContext = React.createContext(null);
export default HelpContext;

在我的组件中,我声明了一个状态和一个更新函数:

const [helpIsShown, sethelpIsShown] = useState(null);
return 
   <HelpContext.Provider value={{ helpIsShown, sethelpIsShown } }>....

但是当我调用 showTheHelp 时,helpIsShown 始终为 null,为什么这不起作用?

顺便说一句,我想要的是任何显示一些帮助文本的组件,当另一个组件显示它的帮助文本时隐藏它。

0 个答案:

没有答案