이번 시간에는 React의 Context를 익히는 시간을 가지려고 합니다. ❓언제 Context를 사용할 수 있을까요? Context는 전역에 상태를 저장할 수 있습니다. 이는 일일이 컴포넌트에 props를 넘겨주지 않게 해줍니다. export default function App() { const [prop, setProp] = useState() return ( ); } export default function Box({prop}) { console.log(prop) // App 부모 요소에서 전달받은 prop 값 return ... props을 넘겨주는 예시입니다. Constext를 사용함으로써 props를 넘겨주지 않아도 됨으로써, 의존성을 없앨 수 있고, drilling을 없애 가독성을 향상시..
useState를 잘못 사용하여 재 렌더링이 되지 않는 상황을 마주쳤습니다. 기본적인 부분이라고 생각하지만, 저와 같은 실수를 하시는 분이 있으실 수 있어 블로그 포스팅을 해봅니다! ❓React 요소가 재 렌더링 되는 시점? 기본적으로 React의 요소가 재 렌더링 되는 경우는 다음과 같습니다. State가 변경되었을 때 Props가 변경 되었을 때 부모 컴포넌트가 재 렌더링 될 때 컨텍스트(useContext 훅을 사용하여)에 의존하고 있는 경우 컨텍스트 값이 변경될 때 네 가지 상황에서 재 렌더링이 실행됩니다. 그런데 제가 마주친 상황은 State가 변경되었음에도, 재 렌더링이 되지 않는 상황이었습니다. //... const [files, setFiles] = useState([]); const in..
자바스크립트를 공부하다 명령적 프로그래밍의 단점에 대해 설명을 듣고, 선언적 프로그래밍의 필요성과 react, vue 등의 라이브러리 등장에 대해서 설명을 들었습니다. 그런데 선언적 프로그래밍이 무엇인지, 명령적 프로그래밍이 무엇인지 정확하게 알지 못해서 이번 시간에는 이 둘이 무엇인지와 차이점을 알아 보려고 합니다! 🤔선언적 프로그래밍? (Declarative Programming) 선언적 프로그래밍 (Declarative Programming)은 프로그램이 어떻게 동작해야 하는지를 명시하기 보다, 원하는 결과, 달성하기를 원하는 것을 설명하는 프로그래밍 형식입니다. 이를테면, 선언적 프로그래밍에서는 데이터와 데이터 사이의 관계, 규칙, 제약 조건등을 선언하여 문제를 해결하려 합니다. 함수형 프로그래밍..
캐러셀(Carousel) 이란? 캐러셀은 회전목마라는 뜻인데요, 쉽게말해서 슬라이드라고 생각하시면 됩니다. 티빙, 넷플릭스 같은 곳과 핸드폰 화면에서 많이 쓰입니다. Swiper.js를 사용하는 이유? 이전까지는 Framer-motion으로 수동으로 캐러셀을 만들었습니다. 애니메이션을 넣는 것도 여간 힘든일이 아니지만, 제일 큰 이유는 Pagination을 구현하기 위함입니다 수동으로 만들 땐 Pagination 기능을 만들 순 있어도, 애니메이션을 구현하는 것은 굉장히 복잡합니다. (적어도 저는 복잡했습니다..) 슬라이드를 한 장 넘길때의 애니메이션을 구현, 두 장 넘길 때의 애니메이션 구현, … 원하는 만큼의 애니메이션을 각각 구현해야 합니다. (저의 지식에서는 이렇게 하는게 최선이라 생각이 되네요...