当用户更改屏幕时,我需要从服务器获取数据以加载用户设置。它由类中的函数完成。我试过了:
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"
}
答案 0 :(得分:0)
在反应导航中,我们可以订阅侦听器并添加相应的回调。 我们可以订阅的四个事件是: 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();
希望这会有所帮助!