React 개발환경 세팅을 하게되면 기본적으로 class형 컴포넌트로 이루어져 있다. (App.js) 


하지만, class형 컴포넌트보다 좀 더 간단하게 선언할 수 있다.


바로, 함수형 컴포넌트(Functional Component)를 사용하면 된다.


하지만, 조건이 있다.


1. 해당 컴포넌트에서는 state를 사용하지 않는다.

2. 해당 컴포넌트에서는 라이프사이클 API를 사용하지 않는다.


두 가지만 기억하면 된다. 함수형 컴포넌트를 사용하기 위해서는 위 2가지.

 

state와 컴포넌트 라이프사이클 메소드를 사용할 수 없다.


props를 전달받아서 뷰만 렌더링하는 역할만 하는 컴포넌트를 구현하고자 할 때 사용한다. 


[함수형 컴포넌트 생성 방법]


import React from 'react';


function Hello(props) {
return (
<div>Hello {props.name}</div>
)
}

export default Hello;


이렇게 간단하게 사용할 수 있다. 또는 더욱 간단하게,



import React from 'react';


const Hello = ({name}) => {
return (
<div>Hello {name}</div>
)
}


export default Hello;


이렇게 더 간단하게 사용할 수도 있다.


{name}의 경우 props에 들어있는 name 속성값이며 이를 받아서 사용한 것이다.


이것은 비구조화 할당 문법을 사용한 것이다.


클래스 컴포넌트와 다르게 props를 사용할 때, this를 사용하지 않는다.



Posted by sungho88
,

(설명)

JSX는 HTML이나 XML과 매우 비슷하게 생겼다.

하지만, HTML도 아니고 XML도 아니다.

자바스크립트의 확장 문법이다(공식 문법은 아니다)

나중에 babel-loader를 통해 자바스크립트로 변환된다.


(장점)

1. 가독성이 좋다  - 자바스크립트에 비해, JSX를 사용하면 보기 쉽고, 작성하기 쉽다.

2. 오류 검사가 가능하다 - babel-loader에 의해 오류를 감지할 수 있다.

3. 거부감없이, 쉽게 작성할 수 있다 - HTML과 유사하기 때문에 쉽게 작성이 가능하다.


(사용법)

1. 컴포넌트는 반드시 태그 하나로 묶기

- 컴포넌트에 여러 요소가 있으면, 반드시 하나의 태그로 감싸야 한다. 

- 그 이유는 컴포넌트 내부는 DOM 트리 구조 하나로 구성되어야 하기 때문이다.

- <Fragment>로 감싸면, 불필요한 div를 렌더링하는 것을 생략할 수 있다.

2. 자바스크립트 코드 삽입하기

- { 자바스크립트 표현식을 작성하려면 JSX 내부에서 중괄호{ } 안에 작성하면 된다.

3. if문 대신 삼항 연산자

- JSX 내부 자바스크립트 표현식에서 if문 사용 불가하므로 삼항 연산자를 사용할 것.

4. class 대신 className 사용

- class를 작성하면 경고 발생. class는 이미 존재하는 키워드이기 때문. className을 사용할 것.

5. 태그는 반드시 닫아야 한다.

- <br>, <input> 등의 태그는 HTML에서 닫지 않아도 작동했다. 

- 하지만, 리액트 JSX에서는 반드시 <br /> 또는 <br></br>과 같이 닫아야 오류가 발생하지 않는다.

6. 주석

- 주석은 { */ 주석임... */ } 으로 작성한다.

- 또는 주석 단축키(Ctrl + /)으로 주석을 하면 좀 더 편리하다.

- 흔히 알고 있는 // 나 /* */ 이 주석을 하게 되면 텍스트로 인식되어 그대로 화면에 표시된다.

7. &&을 사용한 조건부 렌더링

- 삼항 연산자를 쓰면 참일때 A화면 출력 거짓일때 B화면 출력을 했다.

- 하지만, 특정 조건을 만족하지 않을 때 아예 화면을 보여주고 싶지 않다면 어떻게 할까?

-  {condition ? '참이에요' : null} 과 같이 삼항연산자를 사용해도 되지만,

- {condition && '보여주세요'} 와 같이 작성해도 된다.

- 쉽다. 앞 condition이 참이면 뒤 '보여주세요'가 나오겠지만, 거짓이면 뒤에는 체크하지 않는다.


8. 인라인 스타일링 

-  CSS 스타일을 자바스크립트 객체 형식으로 생성하여 적용한다.

- 해당 키는 camelCase 형식을 사용한다.


위에 다음과 같이 선언.

const style {

backgroundColor : 'black',

border : 1px solid 'yellow'

...


사용시에는 다음과 같이 적용.

<div style={style}>BODY</div>


Posted by sungho88
,

네이버를 열면,



웹 페이지 타이틀 옆에 이미지를 파비콘(Favicon)이라 부른다.

참고로 파비콘은 Favorite Icon의 약자이다.

이것을 어떻게 내가 원하는 이미지로 변경을 할 수 있을까?

당연한 순서겠지만, 아래 두 프로세스로 만들 수 있다.

1. 원하는 파비콘 이미지를 만든다.(또는 다운로드 받는다)

2. HTML에서 이 이미지를 부른다.


파비콘 이미지 만들기

- 직접 만들려면, 파비콘은 16x16 크기의 이미지 파일로 확장자는 .ico다.

- 웹 상으로 공유되는 파비콘도 많기 때문에 원하는 모양을 찾아서 다운로드 받을 수도 있다.

(예를 들면, FLATICON)


파비콘 이미지 호출하여 적용하기

- HTML 내 <head>태그 안에 다음과 같이 집어넣으면 된다.

<link rel="shortcut icon" href="/path/faviconimagename.ico">

이렇게 하면 된다.


Posted by sungho88
,