팀 프로젝트 - 등번호 변경 구현

BooKi·2022년 7월 4일
0

팀 프로젝트 - 등번호 변경 구현

구현 방법

등번호 변경 방법에 있어서 지난번에는 제대로 구현하지 못하였다

Setstate를 제대로 작성하지 않아서 생긴 문제였다

    PlayerList.map((player) => player.back === Number(NewBack) ? alert('이미 존재하는 등번호 입니다.') :
      SetPlayerList(PlayerList.map((player) => player._id === Id ? {...player, back : NewBack} : player))

    )

그래서 이렇게 작성했을때는 제대로 되는줄 알았다

근데 등번호가 같아도 alert창이 뜬 뒤에도 숫자가 변경되어 버렸다

코드를 살펴보니 무조건 등번호가 변경되는 로직이 불리도록 코드를 작성한것이다

등번호가 같다면 alert를 한번 부르고 나머지는 다 그 뒤에 Setstate를 할것이다

그렇기 때문에 고민을 했다

그러다가 떠오른 방법이 count를 하는 것이다

지금 우리 팀원의 수가 11명이다

그렇기 때문에 count라는 변수를 만들고 등번호가 겹쳐지지 않을 때 count++를 하도록 했다

그러면 모두와 등번호가 다르다면 count는 11이 될 것이고 if문으로 분기를 하면 되는것이었다

테스트를 해본결과 제대로 작동을 했다

  const ChangeBack = () => {
    let count = 0
    PlayerList.map((player) => player.back === Number(NewBack) ? alert('이미 존재하는 등번호 입니다.') :
      count++
    )

    if(count === 11){
      SetPlayerList(PlayerList.map((player) => player._id === Id ? {...player, back : NewBack} : player))
    }
  }

나중에는 count를 Playerlist.length와 비교하도록 하면된다

profile
성장을 보여주는 기록

0개의 댓글