应用程序关闭时会调用 componentWillUnmount 吗?

时间:2021-03-22 11:47:15

标签: react-native

我正在使用 react-native-audio-recorder-player 录制和播放音频。如果我在播放音频时关闭应用程序,音频仍在播放。但实际上我在 stopAudio() 中调用了 componentWillUnmount()。但我注意到 componentWillUnmount() 在应用关闭时没有被调用。

我想知道两件事

1.应用关闭时会调用componentWillUnmount()吗?如果没有

2.有什么办法可以通过编程方式知道应用程序已关闭?

1 个答案:

答案 0 :(得分:0)

在这种情况下不能使用 componentWillUnmount(),关闭应用程序时不会调用此函数。

我认为您可以使用 react native appstate

或者您可以使用自定义钩子来停止音频 click here

import React from 'react';
import { Text, View } from 'react-native';
import useAppState from 'react-native-appstate-hook';


export default function App() {
  const { appState } = useAppState({
    onChange: (newAppState) => console.warn('App state changed to ', newAppState),
    onForeground: () => console.warn('App went to Foreground'),
    onBackground: () => stopAudio(),
  });

return <View/>
}
相关问题