๋ชฉ๋ก์ ์ฒด ๊ธ (433)
whatisthis?
์ฌ์ค ์ง๋๋ฒ์ ๊ธฐํํ์๋ rainy-player. ๋๋ฌด UI๊ฐ ์ ์นํ๊ณ (...) ๋ง์ ๋ค์ง ์์์ ์ด๋ฐ์ ๋ค์ ๊ฐ์ ์์๋ ํ๋ก์ ํธ์ด๋ค. ์ฒ์ ๊ธฐํ์ ๊ทธ๋ฆฌ๊ณ ์ ์ ๊ณผ์ (?) ์ ๋งํฌ ์ฐธ์กฐ! Rainy player ๋๋ ํ์์ ์ ์ด ์ค์ง ์์ผ๋ฉด ๋น์๋ฆฌ๋ฅผ ๋ฃ๊ณ ๋ ํ๋ค. ๊ทธ๋์ ๋ด๊ฐ ์ข์ํ๋ ๋น์๋ฆฌ๋ฅผ ํ์ด์ฃผ๋ rain sound player app์ ๋ง๋ค๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ๊ณ , ๊ธฐํ์ ํ๊ธฐ ์์ํ๋ค. ์ฒ์ ๊ธฐํ์ ์์ ๊ฐ์ด ๋๋ฌด๊ฐ ๋ณด์ด๊ณ , ๋น์๋ฆฌ๋ฅผ ๋ค์๋๋ง๋ค ๋๋ฌด๊ฐ ์ ์ ์๋ผ๋๋ก ํ๋ ์ปจ์ ์ผ๋ก ๊ตฌ์ํ์๋ค. ๊ทธ๋ฐ๋ฐ, ๋ญ๊ฐ ์ฌ์ฌํ ๋๋์ด ๋ค๊ณ ๋์์ธ์ด ์ค์ํ ๊ฒ ๊ฐ์์ ๊ธฐ๋ฅ์ ์ด๊ฒ์ ๊ฒ ๊ณ ๋ฏผํ๊ฒ ๋์๋ค. ๊ทธ๋์ ํ์ํ ์๋ก์ด ๋ฒ์ ! NEW! Rainy Player ๋น์๋ฆฌ ํ๋ ์ด์ด์ธ ๊ฒ์ ๋์ผํ์ง๋ง, UI๊ฐ ์กฐ๊ธ ๋..
styled-components ๊ณต์ ๋ฌธ์ styled-components = css in JS. ์คํ์ผ ์ ์๋ฅผ CSSํ์ผ์ด ์๋ JS ์ปดํฌ๋ํธ์ ๋ฐ๋ก ์ฝ์ ํ๋ ๊ธฐ๋ฒ. ์นํ์ด์ง๋ฅผ HTML/CSS/JS๋ก ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์๋, ์ฌ๋ฌ๊ฐ์ ์ปดํฌ๋ํธ๋ก ๋ถ๋ฆฌํ๊ณ , ๊ฐ ์ปดํฌ๋ํธ์ ๊ฐ๊ฐ์ HTML,CSS,JS๋ฅผ ๋ด์ฅํ๋ ๋ฐฉ์์ผ๋ก ์์ฑ. styled-components ์ค์น $ yarn add styled-componentsSYNTAX styled ํจ์๋ฅผ ์ํฌํธ. styled ํจ์๋ HTML ํ๊ทธ ๋๋ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ์ ์คํ์ผ์ ์ ์ฉํจ HTML Element styled.button` // style `; React Component styled(Button)` // style `; ๋ ๋ฌธ๋ฒ ๋ชจ๋ ES6 Tagged T..
์์ฆ ๊ณต๋ถํ๋ ๊ฒ ํ๋์ ๋ธ๋ก๊ทธ์ ๊นํ์ ๋ฐฉ์นํด๋ฌ์ ๊ฑฐ๋ฏธ์ค์ด ์์ฌ์๊ธธ๋ ๋ฐฉ๋ฌธํ๋ค. ์๋๋ ๊ฐ๋ฐ ๊ณต๋ถ ๋ธ๋ก๊ทธ์ด๋ค๋ณด๋, ์ก๋ด์ด๋ ๊ทผํฉ์ ์ ๋ ์์ ์ง๋ง .. ๋ด ์ธ์ ๋๋ฆ์ ์ ์ (?)์ ์๊ณ ๋์์๊ธฐ ๋๋ฌธ์ ๊ธฐ๋กํ๊ธฐ๋ก ํ์๋ค. https://mywebproject.tistory.com/429 ๊ณต๋ถ ๊ทผํฉ mywebproject.tistory.com ์ ๋ช์ผ๋์ ํฌ์คํ ์ ์ํ๋์ง์ ๋ํ ๊ธ์ด๋ค. ์์งํ ์ง๋ ๋ช๋ฌ๊ฐ ๊ณ์ ์ปดํจํฐ๋ก ๊ฐ์ + ์ฝ๋ฉ๋ง ํ๋ค๋ณด๋, ์ฑ ๊ณผ ๋ณผํ์ด ์ด์ํ์๋ค. ๋ฌธ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ ๋ฅ๋ค์ด๋ธ๋ก ๊ณต๋ถํ๊ณ ์ถ๋ค๊ณ ์๊ฐํ์๊ณ , ์งง์ ๊ธฐ๊ฐ ์์ ์ฝ 1000ํ์ด์ง์ ์ก๋ฐํ๋ ์ฌ์ ๋งํ ์ฑ (...)์ ๋ค ์ฝ์๋ค! ์๋ฐ์คํฌ๋ฆฝํธ : ๋ฅ ๋ค์ด๋ธ ๋ด๊ฐ ์ฝ์๋ ์ฑ ์ [๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฅ ๋ค์ด๋ธ] ๋ผ๋ ์ฑ ์ด๋ค. ์..
์์ฆ ์ฑ ์ ๊ณต๋ถ์ค์ด๋ค. ์ฑ ์ ์ฐ์ 1ํ๋ ํ ๋ค์, ๋ธ๋ก๊ทธ์ ๋ค์ํ๋ฒ ์ ๋ฆฌํ๋ฉด์ 2ํ๋ ํ๋๊ฒ์ด ๋ชฉํ์ด๋ค. ์ฑ ์ด 1000ํ์ด์ง์ ์ก๋ฐํ๋ ์์ฒญ ๋๊ป๊ณ ํค๋นํ ์ฑ ์ด๋ผ (๋ด์ฉ๋ ๋ ์ด๋ ต๋ค ๐ญ) ์ง๊ธ ํ ์ผ์ฃผ์ผ๋์ ์ ๋ฐ์ ๋ ์ฝ์ ๊ฒ ๊ฐ๋ค. โ๏ธ ๋ฆฌ์กํธ ์ ํ๋ค๊ฐ ๊ฐ์๊ธฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋์์จ ์ด์ ๋? ๊ฒฐ๊ตญ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ด๊ฐ ๋ทฐ๋ฅผ์ฐ๋ , ๋ฆฌ์กํธ๋ฅผ์ฐ๋ , ๋ญ ํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ก์์ ์๋ช ์ด๋ผ ์๊ฐํ๋ค. ๊ทธ๋ฐ๋ฐ! ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์๋ฐ๊ฒํฅ๊ธฐ ์์ค์ผ๋ก ๋ฐฐ์ ์๊ณ , ๋ก์ง ์ง๋๊ฒ๋ ๋ฌธ์ ์ง๋ง ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ํด ํ์ฐธ ๋ชจ๋ฅธ๋ค๊ณ ์๊ฐ์ด ๋ค์๋ค. ์ง๊ธ ๋ฆฌ์กํธ๋ฅผ ๊นจ์๊ฑฐ๋ฆฌ๋ฉด์ ๋ฐฐ์ฐ๋๋, ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๊น๊ฒ ๋ฅ๋ค์ด๋นํด์ ๋ฐฐ์ฐ์๊ณ ์๊ฐํ๋ค. ์์งํ ๋ฆฌ์กํธ๋ ํต์ฌ ๊ฐ๋ ์ด ๋ฑ๋ฑ ๋์์์ด์ (state, props, ์ปดํฌ๋ํธ ๋ฑ) ๊ณต์๋ฌธ์..
Dev Blog whatisthis? ๐ web study & project archive ๐บ https://github.com/thisisyjin mywebproject.tistory.com ๊ฐ๋ฐ ๊ณต๋ถ ๊ฐ๋ฐ ์ฐ์ต ํ๋ก์ ํธ ์คํจ ํธ์ง Naver Blog ๊ธฐ๋ก : ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ ๊ธฐ๋ก :) https://mywebproject.tistory.com blog.naver.com ์ผ์ ์๊ฒฉ์ฆ ๊ณต๋ถ ํ์๋ฉ์ค ๊ณํ Velog thisisyjin (thisisyjin) - velog TIL 22-03-17 React.js Today I Learned ... react.js >๐โ๏ธReact.js Lecture >๐My Dev Blog ๐ ์์ - ๋๋ง์๊ธฐ ๊ฒ์ WordRelay.jsx Hooks ์ด์ฉ์ ๐ก targ..
React.js Today I Learned ... react.js ๐โ๏ธReact.js Lecture ๐My Dev Blog ๐ ์์ - ๋๋ง์๊ธฐ ๊ฒ์ WordRelay.jsx const React = require("react"); const { Component } = React; class WordRelay extends Component { state = { word: "๊ฐ์์ง", value: "", result: "", }; onSubmitForm = e => { e.preventDefault(); if (this.state.value[0] === this.state.word[this.state.word.length - 1]) { this.setState(prevState => ({ res..
React.js ๐ฉ ๋ชฉ์ฐจ - ํด๋์คํ ์ปดํฌ๋ํธ - ํจ์ํ ์ปดํฌ๋ํธ - ๋ฐฐ์ด ์ปดํฌ๋ํธ - ์ปดํฌ๋ํธ์์์ ์ฝ๋ฐฑ๊ณผ ์ด๋ฒคํธ๋ฆฌ์ค๋ ํด๋์คํ ์ปดํฌ๋ํธ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋์ ์ปดํฌ๋ํธ ๊ตฌ์ฑ์์๋ฅผ ๋ชจ๋ ํฌํจํ๋ ํด๋์คํ ์ปดํฌ๋ํธ. ์ด ๋๊ฐ์ง ์ข ๋ฅ์ ํด๋์ค๋ฅผ ์ฌ์ฉ. - Component - PureComponent 1 / Component ํด๋์ค - props, state, life-cycle method๊ฐ ๋ค์ด์๋ ๊ตฌ์กฐ์ ์ปดํฌ๋ํธ 2 / PureComponenet ํด๋์ค - Component ํด๋์ค๋ฅผ ์์๋ฐ์ ํด๋์ค. - shouldComponentUpdate() ํจ์๋ฅผ ์์ ๋น๊ต๋ฅผ ํ๋๋ก ์ฌ์ ์. ๐ shouldComponentUpdate(nextProps, nextState) ํ๋กํผํฐ๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ setState()๋ฅผ ..
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค๊ฐ, ๋ชจ๋ฐ์ผ ์น์์ input="file"๋ก ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํด์ ํด๋น ๊ฒ์๊ธ์ ์ ์ฅ๋๋๋ก ๊ตฌํํด์ผ ํ๋ ๊ธฐ๋ฅ์ด ์์๋ค. ๋ฌผ๋ก ์์ง ์ธ๋ถ ์ปดํฌ๋ํธ๋ก ์ชผ๊ฐ๋์ค์ด๋ผ ๊ตฌํ์ ๋ชปํ์ง๋ง, ๋์ถฉ ๋ง๋ณด๊ธฐ๋ก html-js ์คํ์ผ๋ก ์ ๋ ดํ๊ฒ ๊ตฌํํ๋ ์์ ๊ฐ ์๊ธธ๋ ์๋ํด๋ดค๋ค. - ์ฐธ๊ณ : ์๋ ๊ฐ๋จํ๊ฑฐ๋ผ css๋ js๋ ๊ทธ๋ฅ ์ธ๋ผ์ธ์ผ๋ก ํด๋์๋ค. ๐ KEYPOINT ! ... newImage.src = URL.createObjectURL(file); URL.createObjectURL() - Web API | MDN URL.createObjectURL() ์ ์ ๋ฉ์๋๋ ์ฃผ์ด์ง ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ URL์ DOMString์ผ๋ก ๋ฐํํฉ๋๋ค. developer.mozilla.org - ๊ฐ์ฒด URL์ ํด์ ํ๋ ค๋ฉด r..
React.js ์ปดํฌ๋ํธ - ๊ธฐ์กด ์น ํ๋ ์์ํฌ = MVC ๋ฐฉ์ (Model, View, Controller) ์ ๋ณด๋ด๋น Model ํ๋ฉด๋ด๋น View ๊ตฌ๋๋ด๋น Controller - ์ฝ๋๊ด๋ฆฌ๋ ํจ์จ์ - ๊ฐ ์์์ ์์กด์ฑ์ด ๋์ ์ฌํ์ฉ ์ด๋ ค์ ๐ก import ๋ฌธ์์ ํ์ผ ์ด๋ฆ ํ์ฅ์๊ฐ ์๋ต๋ ์ด์ - create-react-app์ ์นํฉ module resolution ๊ธฐ๋ฅ ๋๋ฌธ. - ํ์ฅ์๊ฐ ํ์ผ ์ด๋ฆ์ ์๋ ํ์ผ ๋จผ์ ์ํฌํธ - ํ์ฅ์๊ฐ ํ์ผ ์ด๋ฆ์ ์๋ ๊ฒฝ์ฐ - extentions์ ์ ์๋ ํ์ฅ์ ๋ชฉ๋ก์ ๋ณด๊ณ ํ์ธํจ. - ์ง์ ๊ฒฝ๋ก์ ์๋ค๋ฉด - ๊ฐ์ ์ด๋ฆ์ ํด๋๊ฐ ์๋์ง ์ฒดํฌ - ๊ฐ์ ์ด๋ฆ ํด๋๊ฐ ์๋ค๋ฉด index ํ์ผ ๊ฒ์ฌ - ์ปดํฌ๋ํธ ๊ตฌ์ฑ์์ property ์์ -> ํ์ ์ปดํฌ๋ํธ๋ก ์ ๋ฌ๋๋ ์ฝ..
๐ฒ ํฑํํ (Tic Tac Toe) ๊ฒ์ Ref. ์์ต์: React ์์ํ๊ธฐ – React A JavaScript library for building user interfaces ko.reactjs.org index.html style.css body { font: 14px "Century Gothic", Futura, sans-serif; margin: 20px; } ol, ul { padding-left: 30px; } .board-row:after { clear: both; content: ""; display: table; } .status { margin-bottom: 10px; } .square { background: #fff; border: 1px solid #999; float: lef..