type TCountBtn = ({incNum: () => void, num: number}) => FC
const CountBtn: TCountBtn = ({ incNum, num }) => {
return(
<div>
<p>{num}</p>
<button onClick={() => incNum()}>
Btn {num}
</button>
</div>
)
}
interface ICountBtn {
setNum: () => void;
num: number;
}type TCountBtn = (props: {
setNum: () => void,
num: number
}) => React.ReactElementfunction CountBtn({ setNum, num }: ICountBtn ) {
return(
<div>
<p>{num}</p>
<button onClick={() => setNum()}>
Click
</button>
</div>
)
}const CountBtn = memo(
function CountBtn({ foo, footer }: ICountBtn ) {
console.log('render')
return(
<div>
<p>{footer}</p>
<button onClick={() => foo()}>
Click
</button>
</div>
)
})const CountBtn: TCountBtn = ({ setNum, num }) => {
return(
<div>
<p>{num}</p>
<button onClick={() => setNum()}>
Click
</button>
</div>
)
}
const CountBtn2 = memo(CountBtn)