[英]React-navigation call function on screen change
當用戶更改屏幕時,我需要從服務器獲取數據以加載用戶設置。 它由類中的函數完成。 我努力了:
componentWillMount(){
console.log("Sent to function");
this.onSaveCats('initialize');
}
什么不向控制台日志發布任何內容。 在更改新屏幕時,我沒有找到觸發功能的好方法。 我有什么想念的嗎?
"dependencies": {
"expo": "^20.0.0",
"react": "16.0.0-alpha.12",
"react-native": "^0.47.0",
"react-native-radio-buttons": "^1.0.0",
"react-navigation": "^1.0.0-beta.11"
}
在反應導航中,我們可以訂閱偵聽器並添加相應的回調。 我們可以訂閱的四個事件是:willFocus,willBlur,didFocus和didBlur。
在這種情況下的用法:
export default class AnyScreen extends Component{
constructor(props){
super(props);
const didBlurSubscription = this.props.navigation.addListener(
'didBlur',
payload => {
console.debug('didBlur', payload);
});
}
}
您也可以通過將“ didBlur”替換為其他任何選項來為didFocus添加類似的訂閱。
偵聽完成后,甚至可以刪除偵聽器訂閱:
didBlurSubscription.remove();
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.