February 16, 2022
아래와 같이 배열을 복사하면 얇은 복사가 된다. 얇은 복사를 하면 새로운 메모리에 할당되는 게 아니라 기존에 있던 메모리에서 값만 바뀐다.
let arr = Array(M).fill(0)
문자열은 원시타입인데 어떻게 length 프로퍼티를 가질수있을까? 자바스크립트는 문자열의 프로퍼티에 접근할 때 내부적으로 문자열 값을 가지고 임시 객체로 변환합니다. 그리고 프로퍼티 접근이 종료되면 생성된 객체는 제거됩니다. 이런 과정을 박싱(Boxing)이라고 부릅니다. 숫자와 불리언타입 다 동일합니다. 박싱 과정에서 생성되는 임시 객체를 랩퍼 객체라고 합니다.
const str = 'javascript'
console.log(str.length) // 10
아래처럼도 사용할수있다.
const str = 'javascript'
console.log([...str]) // ['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't']
아래처럼 Spinner컴포넌트를 따로 만들고.
import ClipLoader from 'react-spinners/ClipLoader'
const Spinner = () => {
return (
<Container>
<ClipLoader size={100} color="#CC3D3D" />
</Container>
)
}
아래처럼 컴포넌트로 가져와서 사용할수있다. 로그인이 끝나면 loding 상태를 변경해주도록하자.
import Spinner from '../components/modals/Spinner'
const Login = () => {
const [loding, setLoding] = useState(false)
return (
<>
<button onClick={() => setLoding(true)}>버튼</button>
{loding && <Spinner />}
</>
)
}