보통 개발 도구를 선택할 때 우리는
를 생각한다.
요즘 시대에는 "도구"를 익혀서 개발하고 있다!!!
https://www.typescriptlang.org/play
https://codesandbox.io/index2
https://reactjs.org/
https://redux.js.org/
https://mobx.js.org/README.html
https://redux-saga.js.org/
https://blueprintjs.com/
https://testing-library.com/
type Age = number;
// let foo : Age = 10;
type Foo = { // Type Alias 방식
age : Age;
name : string;
}
interface Bar { // Interface 방식
age : Age;
name : string;
}
const foo : Foo = {
age : 10,
name: 'a'
}
const bar : Bar = {
age : 10,
name: 'b'
}
typescipt에서 : number 이거는 일반화 되어있다.
둘은 사용 방식도 비슷하고 비슷한 기능을 하는데 react를 배우면서 더 자세하게 알아보도록 하자!
yarn create react-app tech-hello --template typescript
--template(보일러플레이트)로 초기 Setting을 해준다.
tsconfig.json
Typescript 컴파일러에 option을 줘서 Javascript superset을 조정한다.
index.tsx
React 컴포넌트는 기본적으로 function으로 만들 수 있다.
import React from 'react';
import ReactDOM from 'react-dom';
// react에서 component 만들기
interface AppProps {
title : string;
color : string;
}
function App(props : AppProps) { // props로 객체 형태로 전달
return (
<h1>{ props.title }</h1>
)
}
ReactDOM.render( // ReactDOM은 최상위에서 한번만 선언해주면 된다.
<React.StrictMode>
{/* 컴포넌트에 props로 data 전달해주기 */}
<App title="Hello Tech" color="red" />
</React.StrictMode>,
document.getElementById('root')
);
React는 virtualDOM도 단일 Tree 형식이다.