• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

섹션6 storeTodos에서 editTodo 함수

22.11.26 00:38 작성 조회수 87

0

안녕하세요. 강의 잘 듣고 있습니다.

store를 활용한 editTodo 기능에 대해 궁금한게 있어 글 남깁니다.

해당 강의 영상에서 8분 40초경에 나오는 editTodo 함수 내용은 다음과 같습니다

 

const editTodo = (editMode) => {
  update(
    datas => {
      const setData = datas.todoLists.map(todo => {
        if (todo.id === editTodo.id) {
          todo = editTodo
        }
        return todo
      })
      datas.todoLists = setData
      return datas
    }
  )
}

위 코드에서 todo.id === editTodo.id 라인과 todo = editTodo 라인에서 editMode가 아닌 editTodo로 작성된 이유가 있을까요?

실제로 handler에서는 매개변수로 todo를 전달하고 있고 editTodo는 todo를 전달받아 해당 todo를 수정하는 로직인데 전달 받은 editMode는 사용되지 않고 함수인 editTodo에서 id를 가져오고 todo에 함수를 저장한다는게 이해가 되질 않습니다.

이게 틀리다면 동작이 안되는게 맞을텐데 정상적인 동작을 하는걸로 봐선 제가 이해하지 못하는 무언가가 있는것으로 보입니다.

답변 1

답변을 작성해보세요.

1

안녕하세요 김근영입니다.

이해하신 것이 맞습니다. github에는 editTodo의 매개변수로 editMode가 아니라 editTodo로 변경했었는데 강의 내용에서는 수정하지 못한 것 같습니다.

이부분 혼란을 드려서 죄송합니다.

다음은 해당 부분에 대한 github 링크입니다.

https://github.com/freeseamew/todo-svelte-store/blob/master/src/store.js

링크를 보시면 이해하신 것처럼 매개변수로 editTodo가 들어가 있고 이를 바탕으로 수정이 진행됩니다.

영상부분도 최대한 빨리 수정하도록 하겠습니다.

감사합니다.