问题遇到的现象和发生背景
项目中页面功能内使用的邮箱是用context统一下发的,但是页面拿不到下发的value,获取到的值为undefined
用代码块功能插入代码,请勿粘贴截图
//原先的代码:
<CurrnetUserContext.Provider value={() => currentUser}>
</CurrnetUserContext.Provider>
//我修改过的代码
<CurrnetUserContext.Provider value={currentUser}>
</CurrnetUserContext.Provider>
我的解答思路和尝试过的方法
寻找问题的时候查验了通过原先的封装方法是否能拿到email(可以拿到),下发之前是否可以拿到email(可以拿到),被下发value的页面能否拿到email(未拿到)
然后觉得问题应该处在context传值上面,就注意到了这个传value时候的写法,是一个箭头函数,直接修改为我要传的字段就可以拿到了
我的疑惑
自己解决问题以后,我想要知道为什么用箭头函数return出来的value字段其他组件会拿不到呢,按理来说是可以的吧