클라이언트 컴포넌트가 비동기 함수가 될 수 없는 이유
·
React.js
먼저, 클라이언트 컴포넌트는 브라우저에서 실행된다.`async` 함수 자체는 자바스크립트에서 실행이 가능하지만, React 렌더링 모델에서는 함수 컴포넌트가 JSX를 동기 반환하기를 기대한다. 리액트가 컴포넌트의 JSX 동기 반환을 기대하는 이유는, 리액트가 렌더 단계에서 해당 컴포넌트를 즉시 실행할 수 있어야 하기 때문이다. 즉, 렌더 단계에서 컴포넌트가 Promise를 반환하는 것을 허용하지 않는 것이다.(`async function Component()`는 `Promise`를 반환하고, 이를 허용하지 않음) 이를 허용하지 않는 이유는 React의 렌더러가 이 `Promise`를 처리하는 로직을 갖고 있지 않기 때문이다.그래서 리액트 프로젝트를 보면, async 걸린 채 export 되는 컴포넌트가 ..