useEffect用于本机图像选择器

时间:2020-05-22 15:41:20

标签: react-native

正在寻找有关我在图像选择器示例中看到的以下功能的初学者说明。

  useEffect(() => {
  (async () => {
    const { status } = await Camera.requestPermissionsAsync();
    setPermission(status === 'granted');
  })();
},[]);

我知道空数组会检查更新,以确定是否重新渲染。我不确定()是关于异步功能还是要清理,但我知道选择器如果没有它就无法工作。

1 个答案:

答案 0 :(得分:0)

对于正在寻找的任何人:

异步函数返回一个Promise,但是由于useEffect需要一个函数(或什么都没有),因此必须自动调用异步函数。因此,一个易于阅读的版本可能看起来像这样-:

 useEffect(() => {
  const askPerm = async () => {
    const { status } = await Camera.requestPermissionsAsync();
    setPermission(status === 'granted');
  };
  askPerm();
},[]);