Programming/React 34

[ React ] aggrid ์„ ํƒ๋˜์–ด ์žˆ๋Š” ํ–‰ ์„ ํƒ ํ•ด์ œ

๊ทธ๋ฆฌ๋“œ props์—์„œ deselectAll (boolean) ์œผ๋กœ ์กฐ์ ˆ. const gridCodeTypeProps = { ...์ƒ๋žต deselectAll: isDeselectAll }; ๊ทผ๋ฐ ์™œ์ธ์ง€, deselect๋„ select์˜ ์ผ์ข…์ด๋ผ ๋ณด๋Š”์ง€ ๊ทธ๋ฆฌ๋“œ props onSelectionValue : onCellClicked ์˜ onCellClicked ๋ฉ”์†Œ๋“œ๊ฐ€ ํ˜ธ์ถœ์ด ๋˜๋”๋ผ.. ๊ทธ๋ž˜์„œ onCellClicked ๋งจ ์œ„์— deselect๋˜์–ด ํƒ€๋Š” ๊ฒฝ์šฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค€๋‹ค.. if (!params.length) { return; }

Programming/React 2022.09.28

[ React ] aggrid ์†Œ๊ณ„, ํ•ฉ๊ณ„ row ์ถ”๊ฐ€ํ•˜๊ธฐ

๊ทธ๋ฆฌ๋“œ ๋‚ด์—์„œ ์†Œ๊ณ„์™€ ํ•ฉ๊ณ„๋ฅผ ๋‚ด๊ณ  ์‹ถ์„ ๋•Œ ! column sum์€ ๋‚˜์˜ค๋Š”๋ฐ, row sum์€ pinnedBottomRowdata๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•˜๋Š” ์˜ˆ์‹œ๋งŒ ๋ณด์˜€๋‹ค. https://dong-queue.tistory.com/69 vue ag Grid ํ•ฉ๊ณ„ ์ง€์ • ํ•˜๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด์ „์— agGrid์— ๋Œ€ํ•œ ๊ธฐ์ดˆ์™€ ์ปฌ๋Ÿผ ์„œ์‹ ์ •์˜์— ๋Œ€ํ•ด ์„ค๋ช…๋“œ๋ ธ๋Š”๋ฐ https://dong-queue.tistory.com/58 Vue ag-Grid : ์ปฌ๋Ÿผ ์„œ์‹ ์ •์˜ ์ด์ „์— Vue์—์„œ ag-Grid๋ฅผ ์„ค์น˜ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์ .. dong-queue.tistory.com ๋‹จ์ ์€.. ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ ๋”ฐ๋กœ ํ•ฉ๊ณ„๋ฅผ ๋‚ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ. ๊ทธ๋ฆฌ๊ณ  ์†Œ๊ณ„๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๊ฒƒ. ๊ทธ๋ž˜์„œ ๋‹ค์‹œ aggrid๋ฅผ ๋’ค์กŒ๋Š”๋ฐ, ๋”ฑ ์›ํ•˜๋˜ ๊ฑธ ๋ฐœ..

Programming/React 2022.08.22

[ React ] Uncaught Error: useRoutes() may be used only in the context of a <Router> component. ์—๋Ÿฌ์™€ Uncaught TypeError: Cannot read properties of undefined (reading 'pathname') ์—๋Ÿฌ

๋ถ„๋ช… ํšŒ์‚ฌ์—์„œ ๋Œ๋ ค๋ดค์„ ๋•Œ๋Š” ๋๋Š”๋ฐ, Uncaught Error: useRoutes() may be used only in the context of a component. ์ด ์—๋Ÿฌ๊ฐ€ ๋–ด๋‹ค. import { Route, Routes } from "react-router-dom"; import Home from "./pages/Home"; import Start from "./pages/PJTest/Start"; import Question from "./pages/PJTest/Question"; import Result from "./pages/PJTest/Result"; const App = () => { return ( ); }; export default App; ํ•ด๋‹น ์—๋Ÿฌ๋Š” Router๊ฐ€ ํ•„์š”ํ•˜๋‹ค..

Programming/React 2022.08.15

[ React ] ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ react-icons, styled-components ๋ชจ๋“ˆ ์„ค์น˜

1. ์ปดํฌ๋„ŒํŠธ ๋งŒ๋“ค๊ธฐ · GitBook (vlpt.us) 1. ์ปดํฌ๋„ŒํŠธ ๋งŒ๋“ค๊ธฐ · GitBook 1. ์ปดํฌ๋„ŒํŠธ ๋งŒ๋“ค๊ธฐ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ์˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „์—, ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์—์„œ ํ•„์š”ํ•œ ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋“ค์˜ UI ๋ฅผ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  create-react-app ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด react.vlpt.us ์ด ๊ธ€์„ ์ฐธ๊ณ ํ•˜์—ฌ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋กœ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํ•ด๋‹น ๊ธ€์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ค€์ด์—ฌ์„œ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ผํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. react-icons ์„ค์น˜๋ถ€ํ„ฐ ๋‹ฌ๋ผ์„œ ๋ง‰ํ˜€๋ฒ„๋ฆฐ ๊น€์—, ๊ธฐ๋กํ•˜๋ฉด์„œ ํ•ด๋ณธ๋‹ค. โ›… react-icons, styled-components ์„ค์น˜ https://www.npmjs.com/package/styled-components styled-components Vi..

Programming/React 2022.08.03

[ React ] any[] ํ˜•์‹ length๊ฐ€ undefined๋กœ ๋œจ๋Š” ํ˜„์ƒ ํ•ด๊ฒฐ

https://kth990303.tistory.com/254 [typescript] JS์—์„œ length๊ฐ€ undefined๋กœ ๋œจ๋Š” ํ˜„์ƒ ๊ณ ์น˜๊ธฐ ๊ฐ์ฒด์˜ ๊ฐœ์ˆ˜๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด diaryList.length๋ฅผ console.logํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜ํƒ€๋‚˜๋Š” ํ˜„์ƒ์„ ์ˆ˜์ •ํ•ด๋ณด์ž. ๋ฌธ์ œ์  ์ผ๋‹จ diaryList๊ฐ€ ์ œ๋Œ€๋กœ ๋„˜์–ด์˜จ๊ฑด ๋งž๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด console.log๋กœ diaryList๋„ ์ณ๋ณด๋„. kth990303.tistory.com any[]๋กœ ์„ ์–ธ๋œ ๋ฐฐ์—ด์˜ length๋ฅผ ์ฐ์–ด๋ณด๋‹ˆ undefined๊ฐ€ ๋‚˜์™”๋‹ค. ๋„๋Œ€์ฒด ์™œ์ผ๊นŒ ์ฐพ์•„๋ณด๋‹ˆ ๋ฐฐ์—ด์ด key, value๋กœ ์ง์ง€์–ด์ง€๋Š” Objectํ™”๊ฐ€ ๋˜์–ด์„œ ๊ทธ๋ ‡๋‹ค๊ณ  ํ–ˆ๋‹ค..! ๊ทธ๋ž˜์„œ Object.keys(๋ฐฐ์—ด๋ช…).length ์ด๋Ÿฐ์‹์œผ๋กœ ์ฐ์–ด์ฃผ๋ฉด ๋‚˜์˜จ๋‹ค!

Programming/React 2022.07.22

[ React ] ๋ฌธ์ž์—ด ์น˜ํ™˜ ์—ฌ๋Ÿฌ ๊ฐœ (replace ํ•จ์ˆ˜)

[0,1] [0,1,2,3,4,5] ์ด๋Ÿฐ์‹์œผ๋กœ ๋˜์–ด์žˆ๋Š” ์š”์ผ ๋ฐฐ์—ด format์„ ๋ฐ”๊ฟ”์ฃผ๋ ค๊ณ  ํ•œ๋‹ค. ๋ฌธ์ž์—ด ์น˜ํ™˜ํ•  ๋•Œ๋Š” replace ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. const daysFormatter = (params: any) => { const days = params.value .replace('0', '์ผ') .replace('1', '์›”') .replace('2', 'ํ™”') .replace('3', '์ˆ˜') .replace('4', '๋ชฉ') .replace('5', '๊ธˆ') .replace('6', 'ํ† '); return days; }; ์—ฌ๋Ÿฌ ๊ฐœ ์น˜ํ™˜ํ•˜๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ, .replace๋ฅผ ๋ถ™์—ฌ๋‚˜๊ฐ€๋ฉด ๋œ๋‹ค. ์ฐธ๊ณ ๋กœ ์š”์ผ ๋ฐฐ์—ด ํŠน์„ฑ์ƒ ์•ˆ์— [0,0] ์ด๋ ‡๊ฒŒ ์ค‘๋ณต๋  ์ผ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— replace ํ•จ์ˆ˜๋กœ๋„ ์ถฉ๋ถ„ํžˆ ์ปค๋ฒ„..

Programming/React 2022.07.19

[ React ] ๊ทธ๋ฆฌ๋“œ ๋ฐ์ดํ„ฐ์…‹์—์„œ ํŠน์ • ์นผ๋Ÿผ ๊ฐ’ ์ฐพ๊ธฐ (find ํ•จ์ˆ˜ / lookup๊ฐ™์€ ํ•จ์ˆ˜)

๋ฆฌ์•กํŠธ์—์„œ ๊ทธ๋ฆฌ๋“œ์˜ ๋ฐ์ดํ„ฐ์…‹์—์„œ ํŠน์ • ์นผ๋Ÿผ์˜ ํŠน์ • ๊ฐ’์„ ์ฐพ์•„์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ์žˆ์—ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ xplatform์—์„œ๋Š” lookupํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ์—ˆ๋‹ค. var name = studentList.lookup("studentId",1,"studentNm"); studentId(ํ•™์ƒ๋ฒˆํ˜ธ)๊ฐ€ 1์ธ ํ•™์ƒ๋ช…์„ ์ฐพ์€ ์†Œ์Šค์ด๋‹ค. ๋ฆฌ์•กํŠธ์—์„œ๋Š” ์ด๋Ÿฐ ํ•จ์ˆ˜๊ฐ€ ๋ญ๊ฐ€ ์žˆ์„๊นŒ, ํ•˜๋‹ค๊ฐ€ findํ•จ์ˆ˜๋ฅผ findํ–ˆ๋‹ค. const list = studentList?.find((element) => element.studentId === 1); const name = list.studentNm; lookup๊ณผ ๋‹ค๋ฅด๊ฒŒ find๋Š” ํ•ด๋‹น row๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ row์—์„œ studentNm์„ ๋‹ค์‹œ ์ฐพ์•„์ค˜์•ผ ํ•œ๋‹ค.

Programming/React 2022.07.19

[ React ] AG-GRID applyTransaction ํ–‰์ถ”๊ฐ€(add), ํ–‰์‚ญ์ œ(remove), ํ–‰์ˆ˜์ •(update) ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ

AG-GRID๋ฅผ ์ด์šฉํ•ด์„œ ๊ทธ๋ฆฌ๋“œ ํ–‰์ถ”๊ฐ€, ํ–‰์‚ญ์ œ, ํ–‰์ˆ˜์ • ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค. ๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋‹ˆ๊นŒ ์ƒ๊ฐ๋ณด๋‹ค ์ž˜ ๋‚˜์™€์žˆ์ง€ ์•Š์•„์„œ ํฌ์ŠคํŒ…ํ•ด๋ณธ๋‹ค. import { GridApi } from 'ag-grid-community' ์ผ๋‹จ GridApi๋ฅผ import ํ•ด์ฃผ์—ˆ๋‹ค. ์›ํ•˜๋Š” applyTransaction ์ด ์—†๋‹ค.. ๋„๋Œ€์ฒด ์ด๊ฑด ์–ด๋–ป๊ฒŒ ์“ฐ๋Š” ๊ฑด๊ฐ€ ํ•˜๊ณ  ์†Œ์Šค๋ฅผ ๋’ค์ ธ๋ณด์•˜๋‹ค. const [gridApi, setGridApi] = useState(); useState๋กœ ์‚ฌ์šฉ์„ ํ•˜๋”๋ผ.. โž•ํ–‰ ์ถ”๊ฐ€ (add) const newRow = { JobNm: '', FromTm: '', ToTm: '', Use_YN: 'Y', Remark: '' }; gridApi?.applyTransaction({ add: [newRow..

Programming/React 2022.07.15

[ React ] ๊ทธ๋ฆฌ๋“œ์—์„œ ๊ฐ’ ํฌ๋งท ์ง€์ •ํ•ด์ฃผ๊ธฐ (AG GRID valueFormatter ์‚ฌ์šฉ)

https://www.ag-grid.com/javascript-data-grid/value-formatters/ JavaScript Data Grid: Value Formatters Value formatters allow you to format values for display. Download v28 of the best JavaScript Data Grid in the world now. www.ag-grid.com ์‹œ์ž‘์‹œ๊ฐ„ ์ข…๋ฃŒ์‹œ๊ฐ„ 0800 1700 ์ด๋Ÿฐ ๊ทธ๋ฆฌ๋“œ๊ฐ€ ์žˆ๋‹ค. ๋‘˜๋‹ค ์‹œ๊ฐ„์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ธธ ๋•Œ๋Š” 08:00, 17:00 ์œผ๋กœ ๋„˜๊ธฐ๊ณ  ์‹ถ๋‹ค. ํ•˜์ง€๋งŒ ์ž…๋ ฅํ•  ๋•Œ๋Š” ':' ์ฝœ๋ก ์„ ๊ตณ์ด ์ž…๋ ฅํ•˜๊ณ  ์‹ถ์ง„ ์•Š๋‹ค. => ๊ฐ’์˜ ํฌ๋งท ์ง€์ •ํ•ด์ฃผ๊ธฐ AG GRID์—๋Š” valueFormatter ๋ผ๋Š” ํฌ๋งท์ง€..

Programming/React 2022.07.15

[ React ] ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ๋ฆฌ์•กํŠธ ๊ฐœ๋ฐœํ™˜๊ฒฝ ์…‹ํŒ…

Node.js ์„ค์น˜ Node.js (nodejs.org) Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org Yarn ์„ค์น˜ Installation | Yarn (yarnpkg.com) Yarn Fast, reliable, and secure dependency management. classic.yarnpkg.com Visual Studio Code ์„ค์น˜ Visual Studio Code - Code Editing. Redefined Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined..

Programming/React 2022.07.14