Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- CSS
- 헷갈린다~
- 내장고차함수
- react
- ㄷㅌ
- https://developer-talk.tistory.com/299
- dom
- User Flow
- UI
- 자바스크립트#JS#var#let#const#undefined#null
- 노드교과서
- children vs childrenNodes
- https://dasima.xyz/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%A0%9C%EA%B3%B1-math-pow-%EA%B3%84%EC%82%B0/
- 자바스크립트#조건문#문자열
- Beesbeesbees
- variable#function
- slice/splice/split
- 자바스크립트#JS#slice#splice
- redux상태유지
- 자바스크립트
- https://lo-victoria.com/introduction-to-redux-toolkit-for-beginners
- js
- cmarket
- JS#3일차달리자#초반인데#시간금방~
- for~in/for~of
- toString#String
- UX
- @redux-toolkit
- https://www.daleseo.com/js-array-slice-splice/
- removeCookie
Archives
- Today
- Total
Daily Front_Minhhk
질문 작성 > 삭제 > 재작성 시 id 중복해결 // id 난수화 Math.random() , randomUUID() 본문
에러의 경우//
ask 에서 질문 생성 후 post 보내고 delete 요청 후,
질문 재생성 할 때 id 가 중복되는 현상이 발생하였다,,
id 설정
- useRef() 를 사용하여 .current 값에 +1
- get 으로 받아온 데이터를 저장하여 그것의 .length +1
의 두가지 방법으로 get, post 하고 있었다.
우선 POST 로 게시글 3개를 작성하여 보내었다.
./data.json 에 저장이 되었다.
"ask" : [
{
"id": 1,
"title": "1등",
"contents": "1234",
"answer": []
},
{
"id": 2,
"title": "2등",
"contents": "1234",
"answer": []
},
{
"id": 3,
"title": "3등",
"contents": "1234",
"answer": []
},
]
여기서 delete 를 보내어 id === 2 를 삭제 하면,
id 는 1과 3이 남을 텐데
.current 나 length +1 로 단순히 게시글을 추가할려고 했을 때,
id === 3 이 중복이 되어 에러가 났다.
이를 해결하고자
첫번째 방법?!
Math.random().toString(24) // '0.diniiah6ej73'
Math.random() 으로 랜덤한 숫자를 생성하고 거기에 .toString()을 하면 랜덤한 문자열이 나오게 된다는 뜻이다.
그리고 .toString(radix)은 매개변수로 2~36 사이의 정수를 받는데 이는 진수를 나타내는 값이다.
부동 소수점을 제거 위해 substr 사용한다.
Math.random().toString(24).substr(2,13); // 'diniiah6ej73'
문자열로 생성된 난수화 id를 볼 수 있다.
두번째 방법?!
let uuid = crypto.randomUUID();
console.log(uuid) // "36b8f84d-df4e-4d49-b662-bcde71a8764f"
crypto.randomUUID() 를 사용하여도 난수화된 id를 얻을 수 있었다.
따라서 중간 게시물을 삭제하여도 다시 생성되는 id와 중복되지 않았다👍🏻
'에러' 카테고리의 다른 글
git은 대소문자 구별이 안됨.. (0) | 2023.07.27 |
---|---|
npm install 할 때 예외가 발생_Unable to resolve path to module (0) | 2023.07.27 |
Git - error/ 병합하기 전에 변경 사항을 커밋하거나 스태시하십시오. (0) | 2023.02.17 |
Git - error/현재 브랜치의 끝이 리모트 브랜치보다 뒤에 있으므로 업데이트가 거부되었습니다. (0) | 2023.02.17 |
포트가 사용중, address already in use :::80 , address already in use :::port (0) | 2023.02.02 |