검색결과 리스트
웹에 해당되는 글 17건
- 2024.01.09 [CodingApple] ReactJS로 단순 블로그 만들기 101
- 2024.01.07 [Nomad] ReactJS로 영화 웹 서비스 만들기 6 4
- 2024.01.06 [Nomad] ReactJS로 영화 웹 서비스 만들기 5 83
글
[CodingApple] ReactJS로 단순 블로그 만들기
Coding Apple 강의 1일차.
심심해서 만들어보는 React JS 강의 수강 v2
-
React로 간단한 블로그 만들어보기.
1. 준비물
> nodejs (npm을 사용하기 위해 설치)
> npm
> create-react-app (기본 환경이 세팅된 react 프로젝트 생성하는 명령어)
1. npx create-react-app react_blog
2. npm start
3. 생성된 프로젝트 vscode로 열기
- node_modules : react를 사용하기 위한 라이브러리 코드 보관함
- public : static 파일 모아두는 폴더
- src : 코드 짜는 폴더
- index.js : welcome 세팅
- package.json : 프로젝트 정보
2. App.js
/* eslint-disable */ //Lint 끄는 기능 (=warning 메시지 끄기)
import { useState } from "react";
import "./App.css";
function App() {
let [글제목, 글제목변경] = useState([
"남자 코트 추천",
"강남 우동 맛집",
"파이썬 독학",
]); //Destructuring 문법(return을 다중으로 받음)
let [발행일자, 발행일자변경] = useState([
"2월 17일 발행",
"5월 25일 발행",
"9월 8일 발행",
]);
let [따봉, 따봉변경] = useState(0);
return (
<div className="App">
<div className="black-nav">
<h4>React Blog</h4>
</div>
<button
onClick={() => {
//state가 array/object시 주의해서 사용해야함!!!(shallow copy를 해야함)
//let copy = 글제목 선언 시 RAM에 '글제목'과 동일한 주소를 가지는 copy 변수를 생성하고 내부 데이터를 세팅함
//let copy [...글제목] 선언 시 RAM에 새로운 주소를 가지는 copy 변수를 생성하고 내부 데이터를 세팅함
//copy[0] 시 copy의 내부 데이터가 변경됨
let copy = [...글제목]; //[...]으로 하지 않으면 state는 기존 object와 신규 object가 동일하다고 판단함(object가 가리키는 글제목의 주소값이 동일하므로!)
copy[0] = "여자 코트 추천";
글제목변경(copy);
}}
>
글수정
</button>
<div className="list">
<h4>
{글제목[0]} <span onClick={() => 따봉변경(따봉 + 1)}>👍</span> {따봉}
</h4>
<p>{발행일자[0]}</p>
</div>
<div className="list">
<h4>{글제목[1]}</h4>
<p>{발행일자[1]}</p>
</div>
<div className="list">
<h4>{글제목[2]}</h4>
<p>{발행일자[2]}</p>
</div>
<Modal />
</div>
);
}
//컴포넌트로 만들면 좋은 케이스
//1. 반복적인 html 축약할 때
//2. 큰 페이지들
//3. 자주 변경되는 것들
//컴포넌트의 단점 : state가져다 쓸 때 문제가 생김(state는 scope이 local임)
function Modal() {
return (
<div className="modal">
<h4>제목</h4>
<p>날짜</p>
<p>상세내용</p>
</div>
);
}
export default App;
3. App.css
.App {
text-align: center;
}
div {
box-sizing: border-box;
}
.list {
padding-left: 20px;
text-align: left;
border-bottom: 1px solid grey;
}
.modal {
margin-top: 20px;
padding: 20px;
background: #eee;
text-align: left;
}
.black-nav {
display: flex;
background: black;
width: 100%;
color: white;
padding-left: 20px;
}
.App-logo {
height: 40vmin;
pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
.App-logo {
animation: App-logo-spin infinite 20s linear;
}
}
.App-header {
background-color: #282c34;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(10px + 2vmin);
color: white;
}
.App-link {
color: #61dafb;
}
@keyframes App-logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
이 이후는 유료강의...
'웹 > React.js' 카테고리의 다른 글
[Nomad] 실전형 리액트 Hooks 10개 1 (124) | 2024.01.18 |
---|---|
[Nomad] ReactJS로 영화 웹 서비스 만들기 6 (4) | 2024.01.07 |
[Nomad] ReactJS로 영화 웹 서비스 만들기 5 (83) | 2024.01.06 |
[Nomad] ReactJS로 영화 웹 서비스 만들기 4 (79) | 2024.01.05 |
[Nomad] ReactJS로 영화 웹 서비스 만들기 3 (75) | 2024.01.04 |
설정
트랙백
댓글
글
[Nomad] ReactJS로 영화 웹 서비스 만들기 6
노마드코더 강의 6일차.
심심해서 만들어보는 React JS 강의 수강
- ReactJS로 영화 웹 서비스 만들기
1. 준비물
> react app 설치 (React JS, React-Dom, Babel)
> propTypes : npm i prop-types
2. Movie App 확장
- 기존 버전에 css 추가
- Detail 레이아웃은 여전히 개발하지 않았음. (추후 강의 전부 수강 후 진행 예정)
- https://github.com/walterpark5193/react-for-beginners/tree/main
GitHub - walterpark5193/react-for-beginners
Contribute to walterpark5193/react-for-beginners development by creating an account on GitHub.
github.com
* Breaking Change : 버전을 업데이트하면서 코드가 깨져서 코드를 수정해야 하는 Case
- React.js는 기존 소스코드에 신규 기능을 추가하는 방식이기에 Breaking Change가 없다.
- 즉, 옛날 코드도 여전히 동작한다는 의미
'웹 > React.js' 카테고리의 다른 글
[Nomad] 실전형 리액트 Hooks 10개 1 (124) | 2024.01.18 |
---|---|
[CodingApple] ReactJS로 단순 블로그 만들기 (101) | 2024.01.09 |
[Nomad] ReactJS로 영화 웹 서비스 만들기 5 (83) | 2024.01.06 |
[Nomad] ReactJS로 영화 웹 서비스 만들기 4 (79) | 2024.01.05 |
[Nomad] ReactJS로 영화 웹 서비스 만들기 3 (75) | 2024.01.04 |
설정
트랙백
댓글
글
[Nomad] ReactJS로 영화 웹 서비스 만들기 5
노마드코더 강의 5일차.
심심해서 만들어보는 React JS 강의 수강
- ReactJS로 영화 웹 서비스 만들기
1. 준비물
> react app 설치 (React JS, React-Dom, Babel)
> propTypes : npm i prop-types
git production 배포 설정
1. npm i gh-pages (결과물을 github pages에 업로드 할 수 있게 해주는 패키지)
2. npm run build (production을 위해 compressed 코드 생성
3. package.json 설정 추가 (deploy시 build 후 gh-pages -d build 하도록 설정)
"deploy": "gh-pages -d build", "predeploy": "npm run build"
- build 폴더를 미리 설정한 git remote 에 배포한다는 의미
4. npm run deploy 시 npm run build -> gh-pages -d build 순으로 처리됨
5. package.json에 설정한 homepage 경로에서 배포소스확인
- "homepage" : https://walterpark5193.github.io/react-for-beginners/
* git 이 없는 경우 https://git-scm.com/download 에서 git을 설치해야한다.
** vscode와 git을 연결하는 방법은 브라우저에 github 로그인해두고 터미널에서 git 실행 시 자동으로 브라우저와 연동되어 로그인된다.
*** 그 뒤 vscode에서 remote를 연결하면 된다. (이 때 remote는 github에서 미리 repository를 생성해두어야 연결 가능)
2. Movie App publishing 결과
- https://walterpark5193.github.io/react-for-beginners/
'웹 > React.js' 카테고리의 다른 글
[CodingApple] ReactJS로 단순 블로그 만들기 (101) | 2024.01.09 |
---|---|
[Nomad] ReactJS로 영화 웹 서비스 만들기 6 (4) | 2024.01.07 |
[Nomad] ReactJS로 영화 웹 서비스 만들기 4 (79) | 2024.01.05 |
[Nomad] ReactJS로 영화 웹 서비스 만들기 3 (75) | 2024.01.04 |
[Nomad] ReactJS로 영화 웹 서비스 만들기 2 (2) | 2024.01.02 |