调试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. ip地址掩码和位数对应关系表、子网掩码、网络地址、主机地址-yellowcong

    本文链接:https://blog.csdn.net/yelllowcong/article/details/76736594ip的地址掩码,刚开始感觉特别蒙蔽,网掩码都是每段8位二进制,共32位,子 ...

  2. Python10个图像处理工具

    原文地址:https://cloud.tencent.com/developer/article/1498116 译者 | 小韩 来源 | towardsdatascience [磐创AI导读]:本篇 ...

  3. func 传参异步方法

    public async Task<T> AssignAsync<T>(string key, Func<T> acquire) {} var result = a ...

  4. 微信小程序开发——使用第三方插件生成二维码

    需求场景: 小程序中指定页面需要根据列表数据生成多张二维码. 实现方案: 鉴于需要生成多张二维码,可以将生成二维码的功能封装到组件中,直接在页面列表循环中调用就好了.也可以给组件添加slot,在页面调 ...

  5. 【翻译】Flink Table Api & SQL —Streaming 概念 —— 时态表

    本文翻译自官网: Temporal Tables https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/strea ...

  6. array_slice

    array_slice  分割数组, 效果相当于 substr 类似字符串操作

  7. Java抓取Codeforces——针对某一次提交的源码和数据

    需要引入Jsoup依赖: <dependency> <!-- jsoup HTML parser library @ https://jsoup.org/ --> <gr ...

  8. [LeetCode] 244. Shortest Word Distance II 最短单词距离 II

    This is a follow up of Shortest Word Distance. The only difference is now you are given the list of ...

  9. Java之变量和数据类型

    变量 什么是变量 变量就是初中的代数的概念.例如一个简单的方程,x,y都是变量 y=x+1 在Java中,变量分为两种:基本类型的变量和引用类型的变量 在Java中,变量必须先定义后使用,在定义变量的 ...

  10. 八、spring生命周期之BeanPostProcessor

    BeanPostProcessor我们一般称为Bean的后置处理器,它与我们前面介绍的InitialingBean.init-method等一样,都是在bean的初始化时被调用,具体的用法我们在举例中 ...