Используйте изменение значения состояния сразу после SetState или обновления состояния

setMovies(result);
console.log(movies) // movies here will not be updated

so do it in useEffect

useEffect(() => {
    // action on update of movies
}, [movies]);

https://www.google.com/search?q=can+i+use+state+value+in+function+immediately+after+setting+it&oq=can+i+use+state+value+in+function+immediately+after+setting+it&aqs=chrome..69i57j69i64.10511j0j7&sourceid=chrome&ie=UTF-8
Runtime Terror