Ваш ответ не совсем корректен, так как данный способ не заставляет дожидаться выполнения асинхронной функции, если поставите debagger слазу после
useEffect(() => {
(async () => {
const result = await getData();
setNoteArr(result);
})()
}, []);
то вы сможете убедиться что noteArr = []