๐ TIL
[220821] useEffect
k_m_jin
2022. 8. 21. 21:31
styled-components
css๊ฐ ์ปดํฌ๋ํธ์ ์ข ์ ๋๊ฒ๋
์ปดํฌ๋ํธ.module.css
props๋ก ๋ฐฐ๊ฒฝ์ ๋ฐ๊พธ๊ธฐ
import styled from 'styled-components';
let YellowBtn = styled.button`
background : ${ props => props.bg };
color : black;
padding : 10px;
`;
function Detail(){
return (
<div>
<YellowBtn bg="orange">์ค๋ ์ง์ ๋ฒํผ์</YellowBtn>
<YellowBtn bg="blue">ํ๋์ ๋ฒํผ์</YellowBtn>
</div>
)
}
useEffect
html์ด ๋ ๋๋ง ๋ ๋ค์ ์คํ๋
1. ์ด๋ฌ๋ฉด ์ฌ๋ ๋๋ง๋ง๋ค ์ฝ๋๋ฅผ ์คํ๊ฐ๋ฅํฉ๋๋ค.
useEffect(()=>{ ์คํํ ์ฝ๋ })
2. ์ด๋ฌ๋ฉด ์ปดํฌ๋ํธ mount์ (๋ก๋์) 1ํ๋ง ์คํ๊ฐ๋ฅํฉ๋๋ค.
useEffect(()=>{ ์คํํ ์ฝ๋ }, [])
3. ์ด๋ฌ๋ฉด useEffect ์์ ์ฝ๋ ์คํ ์ ์ ํญ์ ์คํ๋ฉ๋๋ค.
useEffect(()=>{
return ()=>{
์คํํ ์ฝ๋
}
})
4. ์ด๋ฌ๋ฉด ์ปดํฌ๋ํธ unmount์ 1ํ ์คํ๋ฉ๋๋ค.
useEffect(()=>{
return ()=>{
์คํํ ์ฝ๋
}
}, [])
5. ์ด๋ฌ๋ฉด state1์ด ๋ณ๊ฒฝ๋ ๋๋ง ์คํ๋ฉ๋๋ค.
useEffect(()=>{
์คํํ ์ฝ๋
}, [state1])
function TabContent(props){
return [ <div>๋ด์ฉ0</div>, <div>๋ด์ฉ1</div>, <div>๋ด์ฉ2</div> ][props.ํญ]
}
์๋๋ฉด props.ํญ์ด 0์ด๋ฉด ์ ๊ธด array์๋ฃ์์ 0๋ฒ ์๋ฃ๋ฅผ ๊บผ๋ด์คํ ๋๊น์.
๋ฐ์ํ