Javascript/React 20

[React] Styled-Compoent

📱테스트 환경"react": "18.3.0","react-dom": "18.3.0"나는 React 에서 Styled-Components 를 사용하는데전부 커스텀가능하게 만들고 사용한다.예를 들어서export const Flex = styled.div.` display: flex; align-items: ${(props) => props.alignItems || "center"}; justify-content: ${(props) => props.justifyContent || "center"}; gap: ${(props) => (props.gap ? `${pixelToRem(props.gap)}` : 0)}; flex-direction: ${(props) => props.fle..

Javascript/React 2024.11.15

[React] Moment 대신 Day.js

📱테스트 환경"react": "18.3.0","react-dom": "18.3.0"이번에 Antd RangePicker 연결하면서 Dayjs 을 사용하는 것을보고오랜만에 잊고있었던 Day.js 가 생각나면서 흔히 사용하는 Moment 대신 사용하는이유를 다시한번 상기하는 시간을 가지게 되면 좋을 것 같아 기록하게 되었다.Moment.js와 Day.js는 모두 날짜와 시간 작업을 위한 라이브러리이다.두 라이브러리 모두 시간 형식 지정, 날짜 조작, 타임존 지원 등의 기능을 제공한다.MomentDay.js날짜 형식 지정 및 변환Moment.js와 비슷한 API 제공날짜 간 차이 계산불변성 (immutable data structure) 지원날짜 조작 (더하기, 빼기 등)빠르고 가벼운 성능다양한 로케일 지원..

Javascript/React 2024.11.14

[React] reactRender is not a function

📱테스트 환경"react": "19.0.0-rc-02c0e824-20241028","react-dom": "19.0.0-rc-02c0e824-20241028","next": "15.0.2"이번에 React 가 19로 업데이트 되면서 바로 최신버전을 사용하려고했고 Antd 를 사용하여 스타일을 적용할 생각이였다.근데 React 가 19로 업데이트되면서 render 방식이 변경되었는데아직 최신 Antd 에서는 해당 반영이 안됐고편법으로 dynamic 를 사용해서 쓰려고 했는데도 당연히 안됐다.해당 방법을 수정할 방법이 있다면 좋겠지만일단 Antd 에서 업데이트가 될때까지는 어렵지 않을까 생각한다.나는 그래서 React 버전을 18.3.1 버전으로 다운그레이드 진행했다.그러니 에러는 고쳐졌지만 왠만하면다운그..

Javascript/React 2024.11.11

[React] Styled-components 사용 왜 ?

나는 지금까지 React 개발을 하면서 스타일은 항상 Styled-components 를 사용해왔다.이유는 딱히 없었다.  React 처음할때 사용한 css 가 저거였을 뿐.그이후로도 쭉 React 관련 프로젝트를 할때마다 사용했고 익숙하니까 속도도 나왔다.근데 타의로 최근 scss 를 사용하게 되었는데 익숙함에 오는 거부감인지 왠지 자꾸 단점만 찾게되고다른사람들이 바보같아보였다. 근데 나는 저게 왜 좋은지도 모르고 쓰는건데이번기회에 어떤점이 좋은건지. 왜 쓰는건지 알고 사용하고더 좋은게 있다면 바꿀 수 있도록 하기위해 Styled-components 의 정리를 하려고 한다.npm install styled-componentsimport styled from 'styled-components'const ..

Javascript/React 2024.07.26

[React] Ant Design Table 사용 시 'key' prop

📱테스트 환경"react": "18.2.0""react-dom": "18.2.0""typescript": "^4.9.5"Ant Design Table 을 가져다가 쓰려고 하는데 ..Warning: Each child in a list should have a unique "key" prop.에러가 발생했다.페이지가 멈춰버린다거나 안되는 건 따로 없었지만 불편했고나는 map 을 사용하지도 않았거니와 ..테이블에 dataSource 에 데이터를 전달했기때문에내가 따로 한게 없어서 왜나는지 이해할 수가 없었는데찾아보니까 rowKey 를 이용해서 해결 할 수 있다고 한다. { return row.user_id; }}/>Antd Table 에서 데이터소스를 map 돌리면서키를 설정해주지 않으니까 그..

Javascript/React 2024.05.02

[React] React-Quill + highlight.js

📱테스트 환경"react": "18.2.0""react-dom": "18.2.0""typescript": "^4.9.5"  GitHub - zenoamaro/react-quill: A Quill component for React.A Quill component for React. Contribute to zenoamaro/react-quill development by creating an account on GitHub.github.comReact-Quill 를 이용해서 에디터를 이용하고있는데사용방법은 아주 간단하니까 공식 페이지만 참고해도 누구나 따라할 수 있었을 것이다.근데 이제 code-block 를 사용하려고 보면 이게 다른곳에서 보던것처럼색상구분이없다 보니까 뭔가뭔가 어색한 ..그래서 찾아..

Javascript/React 2024.05.02

[React] searchParams 동적 라우팅

📱테스트 환경"react": "18.2.0""react-dom": "18.2.0""typescript": "^4.9.5"와! 오늘 진짜 엄청난걸 알아버렸다.ㅇㅣ제 선택값 유지를 위해서 URL Params 를 이용하려고 하는데Nextjs 개발을 할때는 router.push({...}) 를 통해서 현재 URL 에 파람만 추가해줬었는데React 에서 하려고 하니까 좀 .. 햇갈렸다고 해야하나 쉽지않았다.[ 첫번째방법 : 추천 x ]const searchParams = new URLSearchParams(location.search);searchParams.set('newParam', 'value');navigate(`${location.pathname}?${searchParams.toString()}`, {..

Javascript/React 2024.04.30

[Express] mysql2 Can't add new command when connection is in closed state

📱테스트 환경"express": "^4.18.2""typescript": "^5.3.3"Mysql 이 8시간동안 아무런 작업이없으면 연결이 자동으로 끊킨다고 한다.그래도 Mysql 을 사용한지 꽤 오래됐는데 .. 지금까지 몰랐다 ...!!유저가 많다면 상관없겠지만 유저가 없거나 혹시라도 연결이 끊켜서 에러페이지를보여줄 순 없으니 .. 연결이 끊키지 않도록 해야하는데 Spring  에는 autoReconnect 라는게 있다고 하더라.근데 Express 에는 이런게 없어서 .. 찾아보다 보니까 비슷한 성능을 낼 수 있는 Pool 이라는게 있다고 한다.const poolConfig = { host: "", port: , user: "", password: "", database: "", waitF..

Javascript/React 2024.04.29

[React] Warning: React does not recognize the prop on a DOM element.

📱테스트 환경"react": "18.2.0""react-dom": "18.2.0""typescript": "^4.9.5"디자인 작업을 Styled-components 로 작업하고있는데이제 조건부 스타일을 위해서 타입을 전달해 줘서 적용을 하고 있다.Warning: React does not recognize the `selectItem` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `selectitem` instead. If you accidentally passed it from a parent component, remove it fr..

Javascript/React 2024.04.26

[React] 탭 눌렀을 때 다른 곳으로 이동하는 방법

📱테스트 환경"react": "18.2.0""react-dom": "18.2.0""typescript": "^4.9.5"댓글쓰는 창을 만들고 있는데 입력 창에서 탭 눌렀을 때버튼으로 이동됐으면 좋겠다고 했어서 Ref 로 해결하려고 했더니focus 를 줘도 안돼더라 .. 그래서 이거어떻게해야하는거여 .. 싶어서못하겠다 싶었는데 tabIndex 를 이용해서 할 수 있더라 ? { if (e.key === "Enter") { onSubComment(v.article_id, i); } }} onClick={async () => { onSubComment(v.article_id, i); }} > 댓글남기기이런식으로 tabIndex 에 숫자를 넣으면 Tab..

Javascript/React 2024.04.25