调试react native的项目有一个报错:

there is no route defined for key XXXX

它发生在我调试TabNavigator选项卡路由器的时候,我把如下代码的Agreement路由转移到了另一个StackNavigator中。明明我在HomeStack中定义好了呀。

const TabsNavigator=createBottomTabNavigator({
Home:{
screen:HomeStack
},
Second:{
screen:SecondPage
},
Video:{
screen:VideoPage,
},
Auction:{
screen:AuctionPage
},
Center:{
screen:CenterPage
},
/*Agreement:{
screen:AgreementPage
}*/
},{}})
const HomeStack=createStackNavigator({
Home:{
screen:HomePage
},
Agreement:{
screen:AgreementPage
},
//Agreement转移到这里
}

其实原因跟我们的代码关系不大,它是

react navigation官网上的警告是这么说的:

警告:Route/Router 定义更改
当你的应用程序代码更改为在导航状态下支持给定路线的新路线或不同路线时,应用程序可能会在呈现旧导航状态时中断。 在重新配置路由器和导航层次结构时,这可能会在开发期间定期发生。 但是当你发布一个新版本的应用程序时,它也可能在生产中发生! 保守的行为是在应用程序更新后擦除导航状态。 最简单的方法是为你发布给用户的每个版本引用不同的持久性密钥。 React Navigation 使用 React 的componentDidCatch功能试图减轻由路由定义更改引起的崩溃,但这被认为是实验性的,可能无法捕获所有错误。

划重点,重新配置导航的层次结构时会发生bug。所以我们先擦除持久化的代码,这个时候就不会报错了。

 return <Provider store={store}>
<AppContainer/>
</Provider>*/ /*return <Provider store={store}>
<AppContainer
persistenceKey={"navigationDEV"}
renderLoadingExperimental={() =>
<ActivityIndicator/>}/>
</Provider>
*/

如果我们还想继续使用持久化state带给我们的开发方便,那么路由改好之后,把persistenceKey的注释放开,重新 npm run start 启动项目就可以回到bug之前的开发中了。

there is no route defined for key Agreement(react native bug记录)的更多相关文章

  1. 【方法1】删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录

    介绍 晚上无聊的时候,我做了一个測试题,測试题的大体意思是:删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录. 比如: I have a map with duplicate val ...

  2. vue中:key 和react 中key={} 的作用,以及ref的特性?

    vue中:key 和react 中key={} 为了给 vue 或者react 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性 一句话概括就是 ...

  3. SQL:获取每个key下最新创建的记录

    今天遇到了一个好玩的问题 问题: 有一个含有key和createdTime字段的表,表里存在很多不同的key值,每个key值下有很多记录. 我想要查出每个key下面cratedTime最大的记录,即每 ...

  4. 【方法2】删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录

    依据guigui111111的建议:先把Map按Key从大到小排序,然后再把Key和Value互换.这也是一种非常好的思路,我写了一下代码,顺便贴上来,供大家參考与分享. package shuai. ...

  5. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十五)Structured Streaming:同一个topic中包含一组数据的多个部分,按照key它们拼接为一条记录(以及遇到的问题)。

    需求: 目前kafka的topic上有一批数据,这些数据被分配到9个不同的partition中(就是发布时key:{m1,m2,m3,m4...m9},value:{records items}),m ...

  6. Mysql之1451 - Cannot delete or update a parent row: a foreign key constraint fails...解决办法记录

    今天使用delete语句删除一张表中的一条信息时,提示了这么一个错误:1451 - Cannot delete or update a parent row: a foreign key constr ...

  7. 需求:一个页面中需要用到多个字典数据。用于下拉选项,同时,需要将其保存为json格式。以便于key,value的相互转换。记录在实现过程中踩的坑

    本文涉及到的知识: Promise,all()的使用 js处理机制 reduce的用法 map的用法 同步异步 需求: 一个页面中需要用到多个字典数据.用于下拉选项,同时,需要将其保存为json格式. ...

  8. [置顶] perl脚本中defined,exists和delete关键字的用法和区别

    刚学习perl脚本的时候,喜欢频繁使用defined关键字判断一个hash中某个key是否存在,后来程序出了问题才去perl官方文档查看关于defined关键字的准确使用方法.因此,这里我把perl中 ...

  9. React Route

    有幸你能看来我的这篇文章,这篇文章是继React后面写的Reactroute,所以你需要看看我前面整理的React笔记再来看Reactroute可能更容易 All the work we've don ...

随机推荐

  1. 剑指offer:数字在排序数组中出现的次数

    题目描述: 统计一个数字在排序数组中出现的次数. 思路分析: 1. 直观思路是直接遍历一遍,统计.复杂度也只要O(n). 2. 显然这道题要考察的内容不这么简单,实际上考虑二分的思想来完成.分别二分查 ...

  2. 压测引起的 nginx报错 502 no live upstreams while connecting to upstream解决

    对系统的某个接口进行极限压测,随着并发量上升,nginx开始出现502 no live upstreams while connecting to upstream的报错,维持最大并发量一段时间,发现 ...

  3. Java基础 try...catch...catch 使用Exception,去捕获其子类异常

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  4. centos7.6下的python3.6.9虚拟环境安装elastalert

    centos7.6安装python3.6.9+elastalert .编译安装python3..9环境 # 安装依赖 yum -y install zlib-devel bzip2-devel ope ...

  5. 学习使用Lombok生成代码

    一.介绍 Lombok官网:https://projectlombok.org/ Lombok的功能简单一点说,就是可以帮我们生成一些代码,这些代码并不是在源码(source code)体现出来的,而 ...

  6. Spring cloud微服务安全实战-7-12整合链路追踪和日志监控

    调用链路的监控和统一日志的监控结合起来.比如说我在调用链监控上发现有一个调用订单的服务慢了.通过pinpoint可以看到 .用户发出来的请求,经过了网关,经过了order,经过了pagement.通过 ...

  7. win10 配置git 环境变量

    'git' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 解决办法: 去百度大概搜了一下,是因为没有配置Git环境变量的原因,但是没有具体的解决步骤,特此记录一下. 右键查看git安装目录: ...

  8. 屠龙术&平凡的世界

    x 听过很多道理,却依然过不好这一生 小时候,总觉得世上肯定存在屠龙术.就像<倚天屠龙记>里面张无忌学的<乾坤大挪移>/<九阳真经>一般, 学会了就可以一人单挑光明 ...

  9. QLineEdit 加省略号

    第一种方法: QFontMetrics elidfont(ui->lineEdit->font()); ui->lineEdit->setText (elidfont.elid ...

  10. springboot:redis反序列化发生类型转换错误

    明明是同一个类,在反序列时报类型转换错误,真实奇怪.经查找资料,说是引入了devtools的缘故. 注释掉以下内容: <dependency> <groupId>org.spr ...