React 에서 DOM 을 접근할 수 있다? (O/X)
useRef()
를 사용하자! const nameInput = useRef();
👉🏼 1. useRef() 를 사용하여 Ref 객체를 만들고
const onReset = () => {
setInputs({
name: '',
nickname: ''
});
nameInput.current.focus();
👉🏼 3. 그러면, Ref 객체의 .current 값은 우리가 원하는 DOM 을 가르키게 됩니다.
};
return (
<div>
<input
name="name"
placeholder="이름"
onChange={onChange}
value={name}
ref={nameInput}
👉🏼 2. 이 객체를 우리가 선택하고 싶은 DOM 에 ref 값으로 설정해주어야 합니다.
/>
배열의 랜더링
import React from 'react';
function User({ user }) {
return (
<div>
<b>{user.username}</b> <span>({user.email})</span>
</div>
);
}
👉 중복되는 배열 부분은 함수로 만들어준다
function UserList() {
const users = [
{
id: 1,
username: 'velopert',
email: 'public.velopert@gmail.com'
},
{
id: 2,
username: 'tester',
email: 'tester@example.com'
},
{
id: 3,
username: 'liz',
email: 'liz@example.com'
}
];
return (
<div>
{users.map(user => (
<User user={user} key={user.id} />
))}
</div>
);
}
👉 map()을 사용해서 반복되는 배열부분을 리턴한다.
export default UserList
* 만약 배열 안의 원소가 가지고 있는 고유한 값이 없다면 map() 함수를 사용 할 때 설정하는 콜백함수의 두번째 파라미터 index 를 key 로 사용하시면 됩니다.
<div>
{users.map((user, index) => (
<User user={user} key={index} />
))}
</div>
react에서 배열의 요소를 추가하는 법
concat
이나 ...spread
를 사용해야한다.react 에서 배열 제거
filter
함수 이용하기react에서 배열 수정
map
함수 이용하기
useEffect
useEffect에 관한 좋은 블로그