사용상태 | React에서 사용하게 될 가장 일반적인 후크 중 하나 - 객체를 상태 값으로 사용
10937 단어 webdevprogrammingreactjavascript
useState
후크에 대해 계속 이야기하겠습니다. 이전에는 그것이 무엇인지, 어떻게 사용하는지 다루었으며 문자열 및 배열과 같은 데이터 유형에 대한 몇 가지 사용 사례를 제공했습니다. 이 게시물에서는 useState
후크를 사용하여 개체 작업을 수행하는 방법에 대해 설명합니다. 이전 부분을 읽으려면전체 코드는 다음과 같습니다. 나중에 작은 덩어리로 설명하겠습니다.
import { useState } from "react";
const JobUpdaterComp = () => {
const [person, setPerson] = useState({
name: "Ahmet Meliksah",
age: 24,
job: "customer representetive",
});
const updateJob = () => {
setPerson({ ...person, job: "junior React developer" });
};
return (
<div>
<h1>Name: {person.name} </h1>
<h1>Age: {person.age} </h1>
<h1>Occupation: {person.job} </h1>
<button
onClick={updateJob}
style={{
padding: "1rem",
borderRadius: "1rem",
border: "none",
backgroundColor: "rebeccaPurple",
color: "white",
cursor: "pointer",
}}
>
Update Occupation
</button>
</div>
);
};
export default JobUpdaterComp;
import { useState } from "react";
먼저 React에서 useState
를 가져옵니다. 그런 다음 person이라는 값을 만들고 다음과 같이 개체를 할당합니다.const [person, setPerson] = useState({
name: "Ahmet Meliksah",
age: 24,
job: "customer representetive",
});
위의 개체에는 이름, 나이 및 직업 키가 있습니다. 그리고 이 개체에서 '작업' 키를 업데이트하려고 합니다. 이것이 올바른 해결책이라고 생각하십니까?
const updateJob = () => {
setPerson({ job: "junior React developer" });
};
위의 코드는 '작업' 키를 업데이트합니다. 그러나 이름 및 나이 키는 제거됩니다. 왜요?
setPerson
는 person
의 값을 업데이트하는 함수이기 때문입니다. setPerson({ job: "junior React developer" });
로 작성되면 작업을 업데이트하고 다른 키가 존재하지 않는 것처럼 업데이트합니다. 그렇기 때문에 상태의 객체를 업데이트할 때 다른 키를 보존하려는 경우(대부분 키를 보존하려는 경우) 키를 다시 작성해야 합니다. 또는 우리는 분해할 수 있습니다. 음, 다음과 같이 평소처럼 분해하겠습니다.const updateJob = () => {
setPerson({ ...person, job: "junior React developer" });
};
위의 코드에서
{ ...person, job: "junior React developer" }
이 부분은 다음을 의미합니다. '직업' 키를 제외하고 '사람' 개체에 있는 모든 것을 있는 그대로 제공합니다. job
키를 "junior React developer"
로 업데이트아래 코드는 위의 코드와 완전히 동일한 작업을 수행합니다.
const updateJob = () => {
setPerson({name: "Ahmet Meliksah", age: 24, job: "junior React developer" });
};
예, 개체가 이렇게 작을 때는 구조를 분해하지 않아도 괜찮습니다(
{...person}
). 불행히도 대부분의 경우 그렇지 않습니다.코드의 마지막 부분:
return (
<div>
<h1>Name: {person.name} </h1>
<h1>Age: {person.age} </h1>
<h1>Occupation: {person.job} </h1>
<button onClick={updateJob}>
Update Occupation
</button>
</div>
);
보시다시피 저는
object.key
( {person.name}
, {person.age}
, {person.job}
) 구문으로 개체에 액세스합니다. 객체는 React에서 렌더링할 수 없으므로 객체 값을 가져오려면 이 구문( object.key
)을 사용해야 합니다. 마지막으로 클릭( updateJob
) 시 onClick
기능을 트리거하는 버튼이 있습니다.요약하자면, 다른 키를 보존하고 싶기 때문에 상태에 있는 객체에 주의하십시오. 따라서 업데이트할 때 Destructuring 방법을 사용하십시오.
Reference
이 문제에 관하여(사용상태 | React에서 사용하게 될 가장 일반적인 후크 중 하나 - 객체를 상태 값으로 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ahmetmeliksah/usestate-one-of-the-most-common-hooks-that-you-will-be-using-in-react-objects-as-state-values-3hgg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)