此篇教程会持续更新。。。
官方文档: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();
由于监听器不在同一个方法中,所以需要将变量声明为类成员变量(属性)。