0
スタック・ナビゲータのルートとしてホーム画面があります。私はcomponentWillAppear
関数を私のHome.js反応コンポーネントに追加しようとしましたが、私の連絡先画面から戻るボタンを押してその画面に戻ると起動しません。react-native componentWillAppearは起動しませんか?
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の子画面から返されたときにホーム画面が表示されるたびに常に発生するイベントハンドラがありますか?
これは私が信じると予想される行動です。画面をプッシュすると、前の画面はアンマウントされないので、前の画面では戻っても何も発生しません。 – bennygenel
には、componentOnFocus()やcomponentOnVisible()などのものがありますか? – John
私はそこにいるとは思わない。前の画面で何かする必要がある場合は、2つのオプションがあります。最初のオプションはreduxまたは類似のパッケージを使用して、前のコンポーネントを更新するためのアクションを起動するか、[この回答](https://stackoverflow.com/a/46796224/)のようなカスタムバックボタンを使用することです2315280)、次に 'this.props.navigation.goBack()' – bennygenel