Navigation prop reference之addListener

此篇教程会持续更新。。。

官方文档:https://reactnavigation.org/docs/zh-Hans/navigation-prop.html


调试环境

需求来源:有时候我们从一个页面返回到上一个页面的时候,此时我们需要这个页面有一些地方进行重新渲染,从而达到我们的需求。

非常简单只需要两步就可以达到要求:

1)添加监听属性即处理方法;

添加监听的位置,只要是第一次进入组件时必定会调用的函数(方法),比如说:constructor和componentWillMount函数(方法):

this.didBlurSubscription = this.props.navigation.addListener(

    'didBlur',

    payload => {

        console.debug('didBlur', payload);

    }

);

这段代码是官方提供的,其中addListener函数(方法)接受两个参数,第一个是监听类型:


监听类型

第二参数就是处理的方法,直接使用箭头函数即可,并不是一定要按照官方提供的那种方式进行写,比如写成这样:()=>{/*要处理的逻辑*/}

2)释放监听器

移除监听器的方法跟清楚定时器是一样的,在组件被卸载的函数中调用,也就是在componentWillUnMount函数(方法)中,代码如下:

this.didBlurSubscription.remove();

由于监听器不在同一个方法中,所以需要将变量声明为类成员变量(属性)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,140评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,562评论 2 59
  • 以艺术为首 他的作品不好却是艺术的天才 对不起外貌协会只看脸
    长马阅读 1,279评论 0 6
  • 童年把阳光洒下。 童年采花给我们。 童年是问题迷宫。 童年寻找快乐。 童年学走路。 童年写作...
    城悦繁花阅读 2,241评论 1 1
  • 文/澧之谣 写作文难,写好作文更困难;写作文易,写好作文也容易。 对于高中学生而言,写作文是一个躲不掉、绕不开的问...
    澧之谣阅读 3,647评论 0 7

友情链接更多精彩内容