react-native componentWillAppear不会开火?

时间:2017-11-11 15:46:11

标签: react-native

我有一个主屏幕作为我的堆栈导航器的根目录。我尝试将componentWillAppear函数添加到我的Home.js react组件中,但是当我通过按下后退按钮从联系人屏幕返回到该屏幕时它不会触发。

import React, { Component } from 'react';
import {StackNavigator} from 'react-navigation';
import Contact from './Contact';

class Home extends Component {
  static navigationOptions = {title:'Home'};

  componentWillAppear()
  {
      console.log('hello');
  }
  render()
  {
     return <View></View>;
  }
}

let Router = 
{
  Home: {screen: Home},
  Contact:{screen:Contact}
}

const Navigator = StackNavigator(Router);
export default Navigator;

当您从Stacked Navigator的子屏幕返回时,每当我的主屏幕变为可见时,是否还会触发另一个事件处理程序?

1 个答案:

答案 0 :(得分:0)

根据bennygenel评论:

  

我认为没有。如果您需要在之前的屏幕上执行某些操作   您可以使用2个选项。第一种选择是使用redux或   类似的包并触发一个动作来更新以前的组件   道具或第二个选项是使用自定义后退按钮   比如this answer然后是this.props.navigation.goBack()