react中【context】组件传值获取value失败的原因

问题遇到的现象和发生背景

项目中页面功能内使用的邮箱是用context统一下发的,但是页面拿不到下发的value,获取到的值为undefined

用代码块功能插入代码,请勿粘贴截图
//原先的代码:
<CurrnetUserContext.Provider value={() => currentUser}>
CurrnetUserContext.Provider>
//我修改过的代码
<CurrnetUserContext.Provider value={currentUser}>
CurrnetUserContext.Provider>
我的解答思路和尝试过的方法

寻找问题的时候查验了通过原先的封装方法是否能拿到email(可以拿到),下发之前是否可以拿到email(可以拿到),被下发value的页面能否拿到email(未拿到)
然后觉得问题应该处在context传值上面,就注意到了这个传value时候的写法,是一个箭头函数,直接修改为我要传的字段就可以拿到了

我的疑惑

自己解决问题以后,我想要知道为什么用箭头函数return出来的value字段其他组件会拿不到呢,按理来说是可以的吧

第一种 你需要 执行以下才行 ,也就是说 value 是个函数了 。value()试试

img

这两种写法 第一种必须 点击才打印 ,第二种则不用。

上面那种方法一般传函数,需要手动触发。下面的则不需要。