C-log

⚛️React : section10 - Delete 본문

⚛️React/⚡ver.0

⚛️React : section10 - Delete

4:Bee 2024. 1. 16. 18:42
728x90

마지막으로 우리는 Delete를 구현할 것이다. 그러기 위해서는 기존에 update부분에서 delete를 추가할 것이다. 이전에는 a태그를 사용했지만 이번에는 우리가 페이지를 새로 생성하거나 불러오는 것이 아니기때문에 input태그로 버튼을 구현 할 것이다. 따라서 contextControl변수에서 값을 수정하면 된다. 아래 코드를 살펴보자.

 
contextControl = <>
      <li><a href={"/update/" + id} onClick={event => {
        event.preventDefault();
        setMode('UPDATE');
      }}>Update</a></li>
      <li><input type="button" value="Delete" onClick={() => {
        const newTopics = [] //비어있는 배열 값을 넣어준다.
        for (let i = 0; i < topics.length; i++) {
          if (topics[i].id !== id) {
            newTopics.push(topics[i])
          }
        }
        setTopics(newTopics);
        setMode('WELCOME')
      }} /></li>
    </>

<></>이 태그는 비어 있는 태그이지만 update와 delete태그들을 묶어주기 위함이다. 이에 따라서 onClick함수를 보면 newTopics는 비어있는 배열값을 정의하고 newTopics를 if를 통해서 setId가 선택 되어 있는 id를 뺀 나머지 값들을 newTopics배열에 push로 넣어두고 이를 다시 setTopics로 새로 정의하는 것이다. 예를 들어 css를 지운다면 js와 html만 있는 것이다.

Delete는 update에 비해서 매우 쉽다. 이 수업에서 가장 중요한건 Nav를 통해 useState를 활용한 부분이다. 만약 수업에 이해가 잘 가지 않는 다면 useState의 수업을 다시 듣기를 추천한다.

728x90
Comments