👉 new Set도 전개복사, Array.from으로 배열 전환이 가능하다!
예제)
// 1
let mySet = new Set( );
mySet.add(1, 5, 5) // Set(1, 5)
// 2
let my_string = "people"
let c = [...new Set(my_string)].join('') // 'peol'
예제)
import { useState } from 'react';
export default function ParentComponent() {
const [value, setValue] = useState('바꿀값');
const handleChangeValue = () => {
setValue('달라진 값');
}
return (
<div>
<div>값은 {value} 입니다.</div>
<ChildComponent />
</div>
)
}
function ChildComponent() {
const handleClick = () => {
// 이 버튼을 이용해 부모의 상태를 바꿔보기.
}
return <button onClick={handleClick}>값 변경</button>
}
부모 컴포넌트에서 상태를 변경하는 함수는 handleChangeValue이며, 전달은 props로 한다.
※ 전달할 때 handleButtonClick라는 함수 이름은 자식 컴포넌트에서 사용할 이름이다.
function ParentComponent() {
const [value, setValue] = useState('바꿀값');
const **handleChangeValue** = () => {
setValue('달라진 값');
}
return (
<div>
<div>값은 {value} 입니다.</div>
<ChildComponent **handleButtonClick={handleChangeValue}** />
</div>
)
}
자식 컴포넌트에서는 고차함수에서 인자로 받은 함수를 실행하는 것 처럼,
props로 전달받은 함수를 컴포넌트 내에서 실행할 수 있게 된다.
다음의 상태변경함수 handleButtonClick( ) 은 버튼을 클릭했을 때, 콜백함수로 실행된다.
function ChildComponent({ **handleButtonClick** }) {
const handleClick = () => {
// 인자로 받은 상태 변경 함수를 실행
**handleButtonClick()**
}
return <button onClick={**handleClick**}>값 변경</button>
}
👉 브라우저 실행 이미지