React Tricks Miniseries 4: useState 배열에서 요소를 제거하는 방법
2101 단어 usestatejavascriptarraysreact
그러나 조작하기 가장 까다로운 것은 아마도 배열 유형일 것입니다. javascript에서 배열을 푸시하고 제거하고 편집하는 것은 다소 간단하지만 useState를 사용하면 특히 상태에 대한 반응의 모범 사례를 따르는 경우 약간 복잡해집니다.
상태인 배열을 추가, 제거 및 편집하기 위해 이러한 모범 사례를 수행하는 방법을 살펴보겠습니다.
미는
이것은 대부분 간단하고 대부분의 개발자가 올바르게 수행합니다. 다음과 같이 이전 상태를 사용하고 이전 요소 뒤에 요소를 추가하기만 하면 됩니다.
setFruits(prev => [...prev, 'apple'])
풀이
제거는 복잡해지는 곳입니다. 수년 동안 나는 많은 개발자들이 이것을 달성하기 위해 모든 종류의 비 모범 사례 '해킹'을 사용하는 것을 보았습니다. useState에 대한 모범 사례가 아닌 스택 오버플로에 대한 매우 인기 있고 수용된 답변도 있었습니다. 일반 javascript array.splice()를 수행한 다음 setState(prev => [...prev])로 상태를 업데이트할 것을 제안했습니다. 안좋다!
이 모든 솔루션은 확실히 작동했지만 react의 모범 사례를 따르고 싶다면 배열에서 제거하는 방법은 다음과 같습니다.
해결책
아이디어는 반응에서 setState의 상태를 절대 변경하지 않는 것입니다. 따라서 항상 이전 값을 사용해야 합니다. 따라서 반응 중인 상태 배열에서 요소를 제거하는 작업은 다음과 같이 수행되어야 합니다.
let elementToRemove = 'orange'
setFruits(prev => prev.filter(fruit => fruit !== elementToRemove ))
자바스크립트 메서드를 사용하거나 상태를 변경하지 않고 한 줄에 원하는 요소를 제거할 수 있습니다.
직접 테스트해볼 수 있습니다!
결론
상태 배열에서 요소를 제거하는 것은 간단하고 한 줄로 수행되지만 모범 반응 사례를 따르기 위해서는 상태를 변경하지 않고 신중하게 수행해야 합니다.
Reference
이 문제에 관하여(React Tricks Miniseries 4: useState 배열에서 요소를 제거하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/theeasydev/react-tricks-miniseries-3-how-to-remove-element-from-usestate-array-13h1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
let elementToRemove = 'orange'
setFruits(prev => prev.filter(fruit => fruit !== elementToRemove ))
상태 배열에서 요소를 제거하는 것은 간단하고 한 줄로 수행되지만 모범 반응 사례를 따르기 위해서는 상태를 변경하지 않고 신중하게 수행해야 합니다.
Reference
이 문제에 관하여(React Tricks Miniseries 4: useState 배열에서 요소를 제거하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theeasydev/react-tricks-miniseries-3-how-to-remove-element-from-usestate-array-13h1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)