Notice
Recent Posts
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- 깃허브 간단요약
- 오라클
- 자바스크립트
- html
- SESSION
- jstl
- java
- 면접
- 필터체인
- 알고리즘
- 버튼
- Oracle
- Spring
- 자바
- 마이바티스
- 깃허브
- EL태그
- 이클립스
- 제이쿼리
- 설정
- Eclipse
- 폼태그
- 스프링
- jsp
- jquery
- springboot
- MySQL
- 설치
- 셋업
- jsp 내부객체
Archives
- Today
- Total
은은하게 코드 뿌시기
리액트 기초 예제 jsx/state/prop/map/컴포넌트 본문
728x90
/* eslint-disable */
import logo from './logo.svg';
import './App.css';
import river from './river.jpg';
import React, { useState } from 'react';
function App() {
addEventListener('click',()=>{
})
let [topic,topicChange] = useState(['ㄱ뷰 좋은 캠핑장', 'ㄴ뷰 좋은 카페', 'ㄷ뷰 좋은 음식점']);
let [like,lickChange] = useState(0);
const postProps = {
postsData :[
{topi : 'ㄱr뷰 좋은 캠핑장' , date : '2023-10-31'},
{topi : 'ㄴr뷰 좋은 캠핑장' , date : '2023-10-29'},
{topi : 'ㄷr뷰 좋은 캠핑장' , date : '2023-10-30'}
]
};
{/* ES6 destructuring 문법 */}
let posts = '뷰 좋은 카페';
function changeTopicfunc(){
var topicTemp = [...topic]; //deepcopy 하지않으면 값 공유가 일어남 꼭 deepcopy할것
//... spread opverator
topicTemp[0] = '애견동반캠핑장'; //state 는 함수와 치환함수로 변경한다.
topicChange(topicTemp);
}
function topicSort(){
var topicTemp = [...topic];
topicTemp.sort();
topicChange(topicTemp);
}
function topicReverse(){
var topicTemp = [...topic];
topicTemp.reverse();
topicChange(topicTemp);
}
return(
<div className="App">
<div className="h-nav" //nav css
>
<div> blog </div>
</div>
<img src={river} />
<button onClick={ changeTopicfunc } >버튼 </button>
<button onClick={ topicSort } > 오름차순 </button>
<button onClick={ topicReverse } > 내림차순 </button>
<div className="list">
<h3> {topic[0]} <span onClick={()=> {lickChange(like + 1)}}>❤️</span>{like} </h3>
<p>2023-10-31</p>
<hr/>
</div>
<div className="list">
<h3> {topic[1]}</h3>
<p>2023-10-30</p>
<hr/>
</div>
<div className="list">
<h3> {topic[2]}</h3>
<p>2023-10-29</p>
<hr/>
</div>
fff
<Modal/>
<ObjectSet {...postProps}/>
<br />ddd
</div>
);
function Modal(){
return(
<>
<div>컴포넌트 만들기 테스트 </div>
</>
)
}
function ObjectSet(propsfunc){
const {postsData} = propsfunc; // 비구조화 할당
return(
<div >
{postsData.map((post0, index) => (
<div className="list" key={index}>
<h3> {post0.topi} <span >❤️</span> </h3>
<p>{post0.date}</p> {index}
<hr/>
</div>
))}
</div>
)
}
}
export default App;
728x90
'웹 > React' 카테고리의 다른 글
리액트 csr/ ssr (0) | 2024.01.17 |
---|---|
vs code 단축키 (0) | 2023.11.06 |
state 기본개념 (1) | 2023.11.01 |
eslint-disable (0) | 2023.11.01 |
JSX (0) | 2023.11.01 |
Comments