๐ก 0๋ถํฐ ์ํ๋ ์ซ์๊น์ง ๋ชจ๋ ์๋ฅผ ์์๋ก ๊ฐ๋ ๋ฐฐ์ด ๋ง๋ค๊ธฐ
// Array.from()์ผ๋ก ๊ธธ์ด๊ฐ 10, ๊ฐ์ด (0~9)์ธ ๋ฐฐ์ด ์์ฑ
const arr = Array.from({length: 10}, (val, idx) => idx);
console.log(arr); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(arr.length); // 10
๋ถ๋ฌ์จ ๋ฐ์ดํฐ์ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง ๋ฐฐ์ด์ ํ๋ฒ์ ์์ฑ or ์ญ์ ํด์ผํ๋ ์ด๋ฒคํธ๊ฐ ์์๋๋ฐ
์ด ๋ ์ด ๋ฐฉ๋ฒ์ ์ ์ฉํ๊ฒ ์ผ๋ค. ๋ ์ข์ ๋ฐฉ๋ฒ์ด ์์ ์๋ ..?!!
๐ก checkbox ํ์ ์ input ํ๊ทธ๋ 'checked' ์์ฑ์ ๊ฐ๋๋ค
<label><input type="checkbox" /> ์ฒดํฌ X </label>
<label><input type="checkbox" checked /> ์ฒดํฌ O </label>
๋ฆฌ์กํธ์์ useRef ํ ์ผ๋ก ์ฒดํฌ๋ฐ์ค๋ฅผ ๊ด๋ฆฌํด์ผํ๋ .. ๊ณ ๋ฏผํ์๋๋ฐ
checked ํ์ ์ด ์๋ค๋ ๊ฑธ ์๊ณ checked = { ์กฐ๊ฑด ? true : false } ์ผ๋ก ๋ก์ง์ ์์ฑํ๋ค.
๐ก ํด๋ผ์ด์ธํธ ๋จ์์ ์ด๋ฏธ์ง๋ฅผ ๋ก๋ํด์ผํ ๋ (ex.localhost:3000) ์ฌ์ฉํ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ
<img alt="png01" src="img/01.png" />
๋๋ ์ ์ฌํ ๋ณด์กฐ ์๋ฒ๋ฅผ ์ด์ด์ (ex.localhost:5000) ์ด๋ฏธ์ง๋ฅผ ๋ก๋ํด์๋๊ฐ ...
์๋ฒ๊ฐ ์์ ๋ ๊ทธ๋ฅ (๋ฆฌ์กํธ ๊ธฐ์ค) public ํด๋ ๋ด๋ถ์
img ํด๋ ๋ง๋ค์ด์ ์ด๋ฏธ์ง ๋ฃ์ด๋์ผ๋ฉด ์ด๋ ๊ฒ ์ฝ๊ฒ ๋ถ๋ฌ์ฌ ์ ์๋ค !!
๐ก Typescript ์์ styled-component (์ปค์คํ ) props ๋ด๋ ค์ฃผ๊ธฐ
import styled, { css } from 'styled-components';
interface PropsType {
isSelected: boolean;
}
const SelectBox = styled.input<PropsType>`
opacity: 0%;
background-color: #000;
// ๋ฐฉ๋ฒ 01
${(props) =>
props.isSelected
? css`
opacity: 100%;
`
: css``
}
// ๋ฐฉ๋ฒ 02
${(props) =>
props.isSelected && `
opacity: 100%;
`
}
`
function BasicForm(){
return (
<SelectBox type="checkbox" isSelected={ ์กฐ๊ฑด ? true : false }/>
);
}
HTML ํ๊ทธ์ ์ํ๋ ์์ฑ๊ฐ์ด ์๋ค๋ฉด,
ํน์ CSS์์ ๊ด๋ฆฌํ๊ณ ์ถ์ ์ปค์คํ ์์ฑ์ด ํ์ํ๋ค๋ฉด,
์ด๋ ๊ฒ ์ธํฐํ์ด์ค๋ฅผ ์ ์ํด์ ์ฌ์ฉํ๋ฉด ๋๋ค !-! ํ์ ์คํฌ๋ฆฝํธ๋ก ์์ฑํ ๋ ์ข๋ค ๐
๐ก styled-component ์์ hover ์์ฑ ๋ฌธ๋ฒ (์๊พธ ๊น๋จน์ด์ ์ถ๊ฐ)
import styled from 'styled-components';
const Button = styled.button`
border: none;
&:hover{
color: blue;
}
`
styled-component ๋ hover ์์ฑ ์กฐํฉ ์์ฃผ ์ ์ฉ ... ๐๐
๐ก ํ์ ์คํฌ๋ฆฝํธ ํ๊ฒฝ์์ npm ๋ชจ๋ ์ค์นํ ๋ ๋ช ๋ น๋ฌธ ์ฃผ์
npm install @types/[๋ชจ๋ ์ด๋ฆ] --save-dev
์๊พธ npm install [๋ชจ๋ ์ด๋ฆ] ์๋ํ๋ ๋ด ์ ๋ฉ์ถฐ ๐จ
'Dev-diary > ์ผ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MAU, DAU, MCU, ACU ์งํ์ฑ ์ธ์ด ์ ๋ฆฌ (0) | 2022.04.07 |
---|---|
๊ธฐ๋ฅ์ถ๊ฐ : 4์ฃผ์ฐจ ํ์ ๋ฉ์ธํ์ด์ง ์ ๋๋ฉ์ด์ ๊ตฌํ (2) (0) | 2022.02.27 |
๊ธฐ๋ฅ์ถ๊ฐ : 4์ฃผ์ฐจ ํ์ ๋ฉ์ธํ์ด์ง ์ ๋๋ฉ์ด์ ๊ตฌํ (1) (0) | 2022.02.26 |
๋ฆฌํฉํ ๋ง : 4์ฃผ์ฐจ ํ์ ๋ง์ปค ์ ๋ณด์ฐฝ css ๋ณ๊ฒฝ (0) | 2022.02.21 |
๋ฆฌํฉํ ๋ง : 4์ฃผ์ฐจ ํ์ input ์ฐฝ ํ ์คํธ ๊ธธ์ด ์ ํ (0) | 2022.02.17 |
๋๊ธ