react(9)
-
[Map Function] 배열의 원소마다 함수를 각각 실행시켜주자
React는 한 페이지를 구성하는 요소들을 잘게 쪼개어 모듈화하기 때문에, 레고처럼 조립과 분해로 유지보수가 쉬운 장점이 있다. 그렇기 때문에, 나의 웹사이트에서 "자주" 쓰이는 디자인을 .jsx로 한데 모아 정의해놓고, props를 이용하여 그때그때 표시되는 정보만 갈아끼우면 정말 최고의 효율성을 가져다준다. 여기서 "자주" 쓴다는 것은, CSS의 .클래스마냥 를 여기저기서 끌어다쓸 수 있다는 것인데, 한번 생각해보자. 우리가 항상 접하는 웹페이지는 게시판 목록이나 피드를 보면 알 수 있듯이, 틀은 다 똑같고 안에 내용만 바뀌는 형태가 압도적으로 많다. 그렇다면 각 글이나 사진이 같은 형태로 무수히 반복된다는 뜻이다. 이 많은 태그들을 일일이 수작업하지 않고, 그 전체 수만큼 알아서 반복문 돌려주는 것..
2020.05.19 -
[props] HTML 태그에서 attribute를 사용하듯, JSX 태그에서 커스텀속성 사용하기
props는 properties의 약자다. HTML에서 태그에는 src="", alt="" 같은 속성이 있었다. 지금 React를 사용하는 우리는 HTML 태그를 JavaScript에서 그대로 다루기를 원하고, 그래서 존재하는 것이 JSX 파일이다. 그렇다면 JSX에서도 HTML 태그 내 속성을 이용할 수 있어야 하는데, 방법은 간단하다. 나만의 커스텀 태그가 라고 가정하면, Profile의 정의는 다음과 같다. // Profile.jsx import React from "react"; function Profile (props) { return ( {props.name} {props.tel} ) } export default Profile; 인자로 props라는 키워드를 사용하며, 이는 다음과 같이 앞..
2020.05.19 -
[React JS] 효율적인 프론트엔드 솔루션
프론트엔드는 웹서비스의 얼굴로서 고객과 가장 맞닿은 부분을 책임지는 아주 중요한 역할을 한다. 기존 방식대로라면 하나의 페이지에 담긴 여러 HTML 요소의 이벤트에 따라 전체 페이지를 리로드해야했다. 하지만 페이스북에서 좋아요 하나 누른다고 전체 페이지를 리로드한다면 지금까지 내려서 보던 피드 스크롤이 날아갈 것이고, 페이지를 렌더링하는 데 필요한 파일들 역시 다시 다운로드 받아야 하는 낭비가 생긴다. 하지만 React는 DOM 트리를 항상 주시하고 있으며, 그중 변화가 생긴 부분만 새로 렌더링한다. 그렇기 때문에 더욱 빠르고 사용자 경험에 능하다고 볼 수 있다. 그리고 React는 클래스마냥 웹페이지를 구성하는 각 요소(nav바, 친구목록, 알림창 등)의 구조를 따로 정의해놓는다. 이때 각 요소들은 별..
2020.05.18