[ReactJS] TIL #5 부모의 상태를 바꾸는 함수 만들기 아래는 onClick 이벤트리스너를 통해 부모 component의 상태를 바꾸는 예이다 React.memo() memo는 memorize를 뜻한다 이를 통해 useState를 통해 props가 변경되지 않은 특정 componenet를 re-render 되지 않도록 할 수 있다 이는 변경사항이 있는 component만 re-render하게 하여 불필요한 render을 하지 않을 수 있게 한다 ReactJS/Basic 2022.07.13
[ReactJS] TIL #4 Props Props 부모 component로부터 자식 component에 데이터를 보낼 수 있게 해주는 방법 Style은 같지만 Content만 다른 버튼 두 개 만들기 동일한 style에 content만 다른 버튼 두 개를 생성하려면 style 속성을 지닌 Btn function을 하나 작성하고 화면에 각각 다른 content를 전달하는 두 개를 render하면 된다 이를 전달하는 방법은 Btn function이 의 props를 function의 () 안에 parameter로 전달하는 것이다 function Btn({propsA}){ return {propsA} } function App(){ } function Btn(hello){ return {hello.propsA} } function App(.. ReactJS/Basic 2022.07.07
[ReactJS] TIL #3 Modifier 함수에서 State를 바꾸는 방법 /* modifier 함수 이용하여 State 바꾸는 방법*/ const [counter, setCounter] = React.useState() // 1) 직접 값 지정 setCounter(5) // 2) 변수 직접 이용 setCounter(counter + 1); // 3) 현재 값 이용 setCounter((current) => current + 1); 시간 분 환산 앱 만들기 const root = document.getElementById("root"); function App() { const [amount, setAmount] = React.useState(0); const [flipped, setFlipped] = React.useState.. ReactJS/Basic 2022.07.06
[ReactJS] TIL #2 State state 기본적으로 데이터가 저장되는 곳을 뜻한다 ReactJS에서 업데이트되는 변수 나타내기 Vanilla JS 와의 차이 Vanilla JS 는 HTML 내의 요소가 업데이트될 때 그 요소의 부모들이 함께 업데이트되지만 React JS 는 바뀌는 요소만 업데이트 된다 React JS 에서 render을 하면 전체를 다시 생성한 후 교체할 것이라고 생각된다 그러나 render은 바뀐 부분만 새로 생성할 수 있게 한다 값을 업데이트하는 좋지 않은 방법 변수를 업데이트하였을 때 UI도 바뀌어야 하므로 rendering도 동반해야 한다 따라서 이 방법은 번거롭다 const root = document.getElementById("root"); let counter = 0; //JSX는 중괄호 {.. ReactJS/Basic 2022.07.06
[React JS] React JS 입문 & JSX 00. React 를 사용하기 위해서는! 아래의 source를 import 해줘야 한다 01. ReactJS 코드 어려운 방식으로 작성하기 createElement는 현직 개발자들이 사용하지 않지만 ReactJS의 기초이자 핵심이다 /*어려운 방식으로 React-JS 코드 작성하는 방법*/ const root = document.getElementById("root") // element 가 배치될 위치 const span = React.createElement("span", {id: "sexy-span"}, "hello"); // span 생성 // 위 함수의 argument 작성을 통해 element를 생성함 // argument 1) 괄호 안에 태그명을 넣어 element를 생성함 // argume.. ReactJS/Basic 2022.07.01