正在寻找有关我在图像选择器示例中看到的以下功能的初学者说明。
useEffect(() => {
(async () => {
const { status } = await Camera.requestPermissionsAsync();
setPermission(status === 'granted');
})();
},[]);
我知道空数组会检查更新,以确定是否重新渲染。我不确定()
是关于异步功能还是要清理,但我知道选择器如果没有它就无法工作。
答案 0 :(得分:0)
对于正在寻找的任何人:
异步函数返回一个Promise,但是由于useEffect需要一个函数(或什么都没有),因此必须自动调用异步函数。因此,一个易于阅读的版本可能看起来像这样-:
useEffect(() => {
const askPerm = async () => {
const { status } = await Camera.requestPermissionsAsync();
setPermission(status === 'granted');
};
askPerm();
},[]);