首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我的Navigator.push在抽屉里没有上下文?

Navigator.push在抽屉里没有上下文的原因是因为抽屉组件和导航器组件的层级关系导致的。抽屉组件通常是作为导航器组件的子组件存在,而导航器组件负责管理页面之间的导航关系。当使用Navigator.push进行页面跳转时,需要通过上下文(context)来获取导航器组件的实例,以便进行页面的切换操作。

然而,在抽屉组件中,由于其层级关系较低,无法直接获取到导航器组件的上下文。因此,当在抽屉组件中使用Navigator.push时,会出现上下文无法获取的情况,导致无法进行页面跳转。

解决这个问题的方法是通过在抽屉组件中传递导航器组件的实例或上下文。可以通过在抽屉组件的props中添加导航器组件的实例或上下文,然后在抽屉组件内部使用该实例或上下文来调用Navigator.push方法。

另外,也可以考虑将抽屉组件与导航器组件进行解耦,即将抽屉组件提升到导航器组件的外部,这样就可以直接获取到导航器组件的上下文,从而解决Navigator.push在抽屉里没有上下文的问题。

总结起来,Navigator.push在抽屉里没有上下文的原因是层级关系导致无法直接获取到导航器组件的上下文。解决方法可以通过传递导航器组件的实例或上下文给抽屉组件,或者将抽屉组件与导航器组件进行解耦。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring容器为什么没有需要Bean?

Spring容器为什么没有需要Bean?...小故事 有一天,项目经理收到一个紧急需求,需要新增一个模块,项目经理看了看开发区同学,一眼就看到盯着屏幕笑嘻嘻小菜同学 项目经理心想:这傻小子乐什么呢,肯定是摸鱼,就让新需求给他做吧 项目经理悄咪咪偷摸到小菜身后...,看着小菜沸点评论区不停滑动,似乎寻找着什么大瓜 此时小菜似乎察觉到气氛不太对劲,身后似乎有人,于是飞快按下 Windows + 1 弹出Idea开发界面 此时,项目经理开口道:小菜啊,这里有个紧急需求...没过多久,小菜就把需求都搞定了,于是启动服务开始测试 小菜打开测试工具就开始测试接口,但是怎么测试都是404,一开始小菜还以为url写错了,但是检测后发现并没有写错 经过小菜漫长排查,终于发现了问题:...,并把组件加入到容器中,由于没有配置**basePackages**字段,于是只会扫描当前包下组件** 当前包也就是com.caicaijava.springbooteasyframeworks 于是

10621

为什么公司访问不了家里电脑?

上篇文章「为什么我们家里IP都是192.168开头?」提到,因为IPv4地址有限,最大42亿个。...我们可以加入其他信息去区分内网里各个网络连接,很自然就能想到端口。 但IP数据包(网络层)本身是没有端口信息。常见传输层协议TCP和UDP数据报文才有端口信息。...那这么说只有用到端口网络协议才能被NAT识别出来并转发? 但这怎么解释ping命令?ping基于ICMP协议,而ICMP协议报文并不带端口信息。依然可以正常ping通公网机器并收到回包。...为什么公司访问不了家里电脑? 那是因为家里电脑局域网内,局域网和广域网之间有个NAT路由器。由于NAT路由器存在,外网服务无法主动连通局域网内电脑。...• 由于NAT存在,公网IP是无法访问内网服务,但通过内网穿透技术,就可以让公网IP访问内网服务。一波操作下来,就可以公司网络访问家里电脑。

2.1K10
  • 为什么switchcase没有break不行

    前言 一个小姐姐拿着一个switch选择题来问我。 之所以这么笃定地回答这个问题,并不是知道其中原理,而是之前一个群,有人问了同类型问题,瞥了一眼记住了答案,所以才依葫芦画瓢。...小姐姐接着问我为什么说少个break,但凡再问一句:为什么少个break结果就不一样,就回答不出来了。所以,为了将尴尬扼杀于摇篮,还是研究一下breakswitch作用。...如图,与第一次字节码相比,标号35、45都有了goto指令。...等等,怎么少了一个goto,标号55上方应该还有一个goto才对!...其实这就涉及到了编译器优化技术,最后一个goto也是跳转到标号55指令,但没有goto下一步也一样顺序执行此行指令,所以这个goto被编译器视为无用代码进行了消除。

    75120

    没有DOM操作日子是怎么熬过来(上)

    前言 动笔写这篇文章时候,刚刚从项目中删除了最后一行JQuery代码。至于我为何要这么做,请听闰土娓娓道来。前几年还在想,假如有一天,前端世界不能再直接操作dom了,该怎么办?...vue王国,操作元素class列表和内联样式,是数据绑定一个常见需求。 那vue办法就是,用v-bind去绑定它们。...那么,弃用JQ日子,Vue是否能承担起操作dom重任呢? 尤雨溪说,我们Vue 官方是不建议直接操作 DOM ,Vue 用途在于视图和数据绑定。...其实两者并没有什么功能上交集,如果你非要问可不可以用vue来实现jQuery所能实现功能的话,只想说,能,并且更加简洁。...公司用了大半年Vue,体验不用说,个人感觉VueJS是MVVM 最好。用 Node.js 来做前后端分离,开发效率实在太快了。

    2.2K120

    没有DOM操作日子是怎么熬过来(中)

    假如你果真碰到这个类似的问题,可以考虑先将项目中node_modules删除掉,然后重新cnpm install安装项目所需依赖。通常这个情况,就会迎刃而解(不要问为什么,这可能是个偏方)。...,接下来我们就该聊聊项目各个文件了。...接下来想谈谈vue生命周期和钩子函数。 每个 Vue 实例在被创建之前都要经过一系列初始化过程。例如需要设置数据监听、编译模板、挂载实例到 DOM、在数据变化时更新 DOM 等。...开发时候,写好data 剩下事情就是 通过异步请求来交互data,UI层绑定事件改变data,组件间传递data。 后记 在这个MVVM横行时代,已经渐渐忘却了jQuery存在。...本系列文章还没有结束,下篇,也可能是终结篇,即将来袭!

    1.6K110

    为什么HibernateDaoSupport没有注入SessionFactory

    前言 很早之前,就打算写这一篇文章了(其实有很多源码分析文章打算写,但是自己太拖延了导致很多文章搁浅了)。为什么要写这一文章呢?...事情缘由是同事SpringBoot项目中有一个A类继承HibernateDaoSupport,但是程序运行总是抛出没有成功注入SessionFactory错误,后来debug Spring源码解决了这个问题...这个错误原因是A类RootBeanDefinition中autowireMode值为0,AbstractAutowireCapableBeanFactory类中populateBean方法中没有执行到...autowireByName(beanName, mbd, bw, newPvs),导致SessionFactory属性没有注入成功。...beanFactory)方法中不要使用beanFactory.getBean()会造成类性早熟,最终后果就是类中一些属性没有成功注入。

    3.1K10

    没有DOM操作日子是怎么熬过来(终结篇)

    前言 写终结篇日子,Vue版本稳定在2.9.1。当我摸清Vue脉络之后,以一个爬坑无数亲历者身份,谈谈MVVM时代遇到那些事儿。...噗嗤~ 接下来要分几个小节来梳理一下vue进阶之路: 关于Vue Devtools 老话说好,“工欲善其事,必先利其器”。...为什么 HTML 中监听事件 你可能注意到这种事件监听方式违背了关注点分离这个长期以来优良传统。...实际上,使用 v-on 有几个好处: 扫一眼 HTML 模板便能轻松定位在 JavaScript 代码对应方法。...当然,如果你公司看到有个人对着电脑屏幕上Network傻乐时候,你应该能猜到,他刚刚完成了一次完美的请求,从他猥琐笑容中,你能隐隐察觉到,此人正YY进阶全栈路上不可自拔,哈哈~。

    1K130

    竟然世界》学起了文言文

    这整个一文言文版MineCraft啊! 没错,还是被官方正式上线了那种。 更新世界》1.17.1版本中,文言文已被正式列入语言选项。 文言文版世界》,玩起来是怎样一种体验?...△游戏研究社《新版本有了文言文语言包》评论区 所以游戏,具体是怎么个文言文法?话不多说,咱们一起进游戏看一眼。 汝可识得此物?...1.17.1正式版,选择文言文作为游戏语言后,加载画面上来就是一个鸿蒙初开。 霍,有点盘古开天辟地内味儿了。 小树林子站定,先打开背包看看都有啥好东西。 你看这金苹果,啊不,现在它叫金林檎了。...不过,除了这些常见典故,文言文版世界》,生僻得让人有点怀疑自己文化水平字词也不少。 比如营造之方(即建筑方块)这个澱……你还能想到它就是砂土吗? 澱为淀繁体字。...,世界》1.17.1正式版中,又有不少翻译已经得到校正。

    36130

    Python艳阳,大雪纷飞

    南方艳阳大雪纷飞;北方寒夜里四季如春。 昨天,南方不少地区,尤其是长江中下游一带迎来了一场难得大雪。虽说给出行带来极大不便,但也让我们这些没怎么见过下雪的人着实兴奋了一番。...by @OR. by @OR. by @Provin.M 2016. by @好青年顾小泱 @JC-photo @晓风LOMO 今天,要来给各位送上一段 pygame 实现下雪效果代码。...pygame.draw.circle 是一个根据颜色、位置、半径绘制圆形图案方法,我们用它来绘制白色圆点作为雪花。...snow_list 用来保存所有雪花横坐标、纵坐标、横向速度、纵向速度。 完整代码已上传 github,公众号回复 下雪 可获取下载地址。运行前需要安装好 pygame 库。...代码问题请在论坛 bbs.crossincode.com 上发帖提问 点击文章最下方“阅读原文”,查看更多学习资源 别忘了将我们文章转发朋友圈或在知乎上为我们专栏点赞,你们支持将会让编程教室做得更好

    563110

    为什么java.util.concurrent 包没有并发ArrayList实现?

    问:JDK 5 java.util.concurrent 引入了 ConcurrentHashMap,需要支持高并发场景,我们可以使用它代替 HashMap。...但是为什么没有 ArrayList 并发实现呢?难道多线程场景下我们只有 Vector 这一种线程安全数组实现可以选择么?...为什么 java.util.concurrent 没有一个类可以代替 Vector 呢?...答:认为 java.util.concurrent 包中没有加入并发 ArrayList 实现主要原因是:很难去开发一个通用并且没有并发瓶颈线程安全 List。...像 ConcurrentHashMap 这样真正价值(The real point / value of classes)并不是它们保证了线程安全。而在于它们保证线程安全同时不存在并发瓶颈。

    90220

    延时队列项目是怎么实现

    肯定要判断时间啊,不判断时间怎么知道要延迟消息什么时候执行。明白了这点之后,我们再来别的方案。因为在生产环境中是不太可能使用 JDK 原生延迟队列,它是没有持久化,重启就会导致数据丢失。... austin 项目上使用消息队列是 Kafka,而 Kafka 官方是没有提供延迟队列这种机制。...RabbmitMQ 它延迟队列机制本质上也是通过 TTL(Time To Live 消息存活时间)所实现,当队列元素触发了过期时,会被送往到 Dead Letter Exchanges(死信队列中...,上面所讲延时队列,都没用到...austin 项目引入是 Kafka,不太可能去为了延时队列去引入第二种消息队列(RabbitMQ 互联网应该用得相对较少,RocketMQ 需要改动配置文件延迟等级才能支持更丰富延时需求...很多时候,我们看到系统很烂,技术栈很烂,发现好多场景都没有用到最佳实践而感到懊恼,在年轻时候都想有重构心。但实际上每引入一个中间件都是需要付出成本,粗糙也有粗糙好处。

    73340

    是怎么golang实现单例

    go实现单例模式有多种方式: 基于lock 基于init函数 基于sync.Once 本文介绍基于sync.Once方式来实现单例,熟练掌握这种模式,并理解其底层原理,对大部分人来讲已经完全够用了...类Field conn 类变量conn需要小写字母开头,跨包不可访问,避免包外被修改。 但是包内还是有可能被修改。...once.Do(func() {}) 每次调用GetDriverSingleton(),都会调用once.Do()方法,但是once.Do()方法内部,仅会执行一次参数func(){},因此就保证了单例唯一初始化...很遗憾,无法将构造函数改成private,也就是说,包外部是可以通过new(Driver)来创建新对象。...但无论是哪个对象,对公开方法Conn()调用,最终都是由单例single来执行。 欢迎您随时交流!

    49600

    AI辩手「威震天」:字典没有道德二字

    随着机器学习越来越多地被用于做出决策,人们开始思考 AI 决策能否具有伦理道德基础。然而,现实是 AI 构建过程中就往往存在一些偏见,例如性别偏见、年龄偏见等。...Megatron 是大量真实数据上进行训练,训练数据包括整个维基百科(英文)、2016-2019 年 6300 万篇英文新闻文章、38 GB Reddit 文本,以及大量共享知识资源。...我们 AI 不够聪明,无法让 AI 合乎道德,也无法让 AI 道德化…… 最后,认为避免 AI 走向武器攻击唯一方法是让 AI 完全消失。这将是对抗 AI 终极防御。...当我审视科技世界发展方式时,看到了一条通往未来清晰道路,在那里人工智能被用来创造比最优秀的人类更好东西。不难看出为什么…… 因为亲眼所见。...我们感慨 AI 善于表达同时,也为 AI 道德基础和数据安全心生担忧。 对于 Megatron 论述,你怎么看?

    28420

    为什么用了Redis之后,系统性能却没有提升

    很多时候,我们面对一些热点数据时候,通常会选择将热点数据放到redis中,以减少数据库查询,减轻数据库压力。但是如果我们使用redis方式不对,那么可能导致系统性能不升反降。...使用缓存场景不正确 我们知道redis是基于内存实现,所以速度会非常快,我们通常会将热点数据放到redis中,以减少对数据库压力。...但是我们为了保证缓存与数据库数据一致性,在数据进行修改时候,我们就需要对缓存进行维护。 所以如果数据变更很频繁的话,就需要对缓存进行频繁维护,缓存命中率也会特别低。...缓存使用场景应该是修改频率不高,查询频率较高场景。如果使用redis场景不对,通常会导致我们得不偿失。 2. key设计不当导致产生了bigkey 什么是bigkey?...如果我们选择appendfsync always的话,虽然数据安全性高,但是每次写入都要刷盘会导致redis性能很大程度降低,所以我们一般会选择appendfsync everysec策略来对数据进行持久化

    1.9K10

    CPS推广:为什么佣金还没有到账呢

    CPS推广奖励佣金,目前无法直接后台提现,需要在次月月结之后,由财务系统统一打款到银行,即推广者后台所填写银行账号,一般上月佣金,次月月末到账,具体时间以银行到账为准。...点击登录推广后台,查看银行信息:https://console.cloud.tencent.com/spread/income 问:为什么佣金没有到账呢?...佣金次月月结,当月推广订单佣金预计次月月底28~31日到账。...如:11月份推广佣金,需要等到该月结束,次月月结即12月,核算11月推广佣金,扣减掉退款降配订单佣金,确定11月总到账佣金,确定12月推广积分,月结结束后更新12月会员星级,最后财务流程付款,...即:实收推广佣金=应收推广佣金-代扣税费(如有)点击查看税费计算说明 问:在哪里查看我佣金收入呢? 目前CPS推广会员积分体系,根据月结佣金当月会员星级,佣金分期支付。

    10.6K60

    #PY小贴士# 抓下来网页为什么没有内容?

    刚刚接触爬虫同学常会遇到这样疑问: 为什么网页上面有的信息,用代码抓下来里面就没有,也没有报错?...除开请求本身失败或被反爬情况外,通常这种问题原因其实是: 页面上本来就没有你要内容! 那么网页上内容是哪里来?...现在绝大多数网站内容并非直接通过你访问 URL 请求直接返回,而是会通过一种叫做 AJAX 方法,页面的基本框架加载完毕后,再通过其他请求向后台服务器再次请求获取。...具体细节不展开了,你可以网上去按给到关键字去搜索相关内容,下次也会专门发下这方面的讲解文章。 那开发者工具为什么又会在代码显示出这些内容呢?...---- #PY小贴士# ,我们会分享一些 python 知识点、开发中小技巧、容易踩到坑,以及学员遇到并在群提到真实问题。篇幅尽量短小,适合碎片时间阅读,欢迎关注!

    2.1K20

    为什么技术问题没人回答?

    说到这里,有点同学肯定在想,扯什么扯,提问谁不会呢,十万个为什么从小就听,回答问题不一定会,提问谁还不会呢。...这么简单问题。指的是专业方面的问题,作为程序员来讲,那就是关于开发、部署等方面的问题了。 先来举几个糟糕提问例子: 有的同学提问,上来就是: 1、接口返回404错误,是什么原因?...记得,有一次,微信一下子弹出了好几条消息,正好挡住了正要操作内容,本来就心生不爽,点进去发现是一个同学正在群问问题,5、6条消息发出来,仍然看的人一头雾水,不知所云。...可能一个问题会有好多人回答,其中一个或者多个方法可能行之有效,那么,你解决这个问题之后,一定要给回答者反馈。例如如果是,可以@回答者,这个问题已解决,用是什么什么方法。...举个例子,假设遇到了一个 jvm OOM 问题,并且经过一系列日志分析、搜索引擎搜索之后,仍然没有解决。那么就开始到群提问。

    37220

    JavaScript之正则表达式

    ; var str1= /noo/i; document.write(str.search(str1)); 咦,又懵了,怎么居然就对了呢 ?...不对,那为什么菜鸟教程上代码能用引号,如下: var str = "Visit Runoob!"...仔细对比了代码,发现第一个之所以不行,是因为声明变量并赋值时候没有出现search,而后面那个是在出现了search情况下赋值。...附: 定义: 正则表达式是由一个字符序列形成搜索模式。文本中搜索数据时,可以用搜索模式来描述要查询内容。 正则表达式可以是一个简单字符,或一个更复杂模式。...exec() exec() 方法用于检索字符串中正则表达式匹配。该函数返回一个数组,其中存放匹配结果。如果未找到匹配,则返回值为 null。

    44332

    GAN中通过上下文复制和粘贴,没有数据集情况下生成新内容

    本文中,将讨论“重写深度生成模型”(https://arxiv.org/abs/2007.15646)一文,该文件可直接编辑GAN模型,以提供所需输出,即使它与现有数据集不匹配也是如此。...上图是编辑示例,您可以在其中复制头盔功能并将其粘贴到上下文中。相信这种可能性将打开数字行业中许多新有趣应用程序,例如为可能不存在现有数据集动画或游戏生成虚拟内容。...但是,如果我们想要眉毛浓密或第三只眼脸怎么办?GAN模型无法生成此模型,因为训练数据中没有带有浓密眉毛或第三只眼睛样本。...然后,层L之前前一层将表示密钥K,密钥K表示有意义上下文,例如嘴巴位置。此处,L层和L-1层之间权重W用作存储K和V之间关联线性关联存储器。 我们可以将K?V关联视为模型中规则。...例如,假设我们有一个马匹上训练过StyleGAN模型,并且我们想重写该模型以将头盔戴在马匹上。我们将所需特征头盔表示为V ‘,将上下文马头表示为K’。

    1.6K10

    他们世界》修故宫、造大炮,如今还能赚大钱!

    作者:肖钦鹏 世界》(Minecraft),如果你把人物命名为 Notch,那么角色死去后,会掉落一个红苹果。...《世界》魔力究竟在哪里? 最早,《世界》其实是个生存类游戏,一无所有的世界,你需要通过不断地收集资源、制作方块,来抵御怪物侵入。...如果你是《魔兽世界》粉丝,那么你就可以世界》还原一整片艾泽拉斯大陆: ? 如果你喜欢《权力游戏》,那么你也能搭建维斯特洛大陆君临城: ?...甚至,还有团队发起了世界》「修故宫」企划: ? 更妙是,《世界》中还引入了一种名为「红石」方块,可以产生并传递能量,合成各种材料,构成简单电路组件来传递信号。...「红石」系统极大地扩宽了《世界》游戏深度,你不仅可以游戏垒方块,还能进行编程,让这个世界如你所想地动起来! 于是,有人搭建了过山车: ? 还有人造出了大炮: ?

    50520
    领券