59일 차 회고
- TS
모든 컴포넌트에 children을 받아 오지 않을 테니 화살표함수 에 React.FC를 쓰기보다는 function 으로 컴포넌트로 만드는 경우가 많다. 개발자바다 성향이 다르다.
장점
단점
type GreetingProps = {
name: string;
children: React.ReactNode;
mark: string;
onClick: (name: string) => void;
};
function Greeting = ({ name, mark, onClick }:GreetingProps) => {
const handleClick = () => onClick(name);
return (
<div>
Hello,{name}
{mark}
<button onClick={handleClick}>클릭~</button>
</div>
);
Greeting.defaultProps={
mark:'!'
}
};
장점
단점
type GreetingProps = {
name: string;
// children: React.ReactNode;
mark?: string;
onClick: (name: string) => void;
};
const Greeting: React.FC<GreetingProps> = ({ name, mark = '!', onClick }) => {
const handleClick = () => onClick(name);
return (
<div>
Hello,{name}
{mark}
<button onClick={handleClick}>클릭~</button>
</div>
);
};
import React, { useState } from 'react';
function Counter() {
//const [count, setCount] = useState<number>(0);
const [count, setCount] = useState(0);
// 제너릭을 넣어줘도 되고 안넣어줘도 된다. hook에서 알아서 파악한다.
// 넣어준다면 타입이 바뀌는것을 빨리 알아 챌수 있다.
const onIncrease = () => setCount(count + 1);
const onDecrease = () => setCount(count - 1);
return (
<div>
<h1>{count}</h1>
<div>
<button onClick={onIncrease}>+1</button>
<button onClick={onDecrease}>-1</button>
</div>
</div>
);
}
export default Counter;
yarn add redux react-redux
yarn add @types/react-redux