在 React JS 前端中访问函数外部的变量

Accessing variable outside a function in React JS Frontend

我写了这段代码来访问 function 之外的 variableres 的值 function 之外是 undefined。外面的 console.log 应该打印 url 分配给 function 里面的 res。我将在 anchor tag 中使用此响应来打开 res 变量中的 url。我做错了什么?

const firebaseApp = initializeApp(firebaseconfig)
const storage = getStorage(firebaseApp)
var res;
  const downloadurl = function() { getDownloadURL(ref(storage, 'files/linpeas.txt'))
    .then((url) => {
       res = url
       console.log(res)
    })};
      
console.log(res)

尝试使用 useState() 存储 res 并在发生变化时使用 useEffect() 更新 res

const firebaseApp = initializeApp(firebaseconfig)
const storage = getStorage(firebaseApp)
const [res, setRes] = useState();

const downloadurl = () => { getDownloadURL(ref(storage, 'files/linpeas.txt'))
    .then((url) => {
       setRes(url);
       console.log(res)
    })
    .catch((error) => console.log(error));
};
      
useEffect(() => {
    console.log(res);
  }, [res]);