(UI 제작 패턴) props를 응용한 상세페이지 만들기
1) 제목을 누를 때 각각 다른 모달창이 뜨도록
맨 아래에서 하겠음.
2) 버튼을 누를 때 각각 다른 모달창이 뜨도록
누른제목으로 숫자값을 구해볼까
1) 제목을 누를 때 각각 다른 모달창이 뜨도록 적용해볼까?
/* eslint-disable */
import React, { useState } from 'react';
// import logo from './logo.svg';
import './App.css';
//리액트의 장점: 데이터 바인딩 쉽게 해준다.
function App() {
let posts = '강남 고기 맛집';
function workSearch() {
return 100
}
let styleRecord = { color: 'blue', fontSize: '30px' };
let [title2, titleChange2] = useState(['남자 코드 추천', '강남 우동 맛집', '피곤하다 집가면 자야지', 'modal 추가']);//문자, 숫자, array, object 다 가능
console.log('title2>>> ', title2);//state 데이터
//console.log('titleChange2>>>> ', titleChange2);//state 데이터 변경 함수
let [따봉, 따봉변경] = useState(0);//초기값은 0
console.log(따봉);//0
//console.log(따봉변경);//함수
function 제목바꾸기() {
var newArray = [...title2];
newArray[0] = '여자코드 추천';
newArray.sort();
titleChange2(newArray);
}
let [modal, modal변경] = useState(false);
let [누른제목, 누른제목변경] = useState(0);
return (
<div className="App">
<div className="black-nav">
<div>개발 Blog</div>
</div>
<button onClick={제목바꾸기}>버튼</button>
{
title2.map(function(tit,i){
return(
<div key={tit} className='list' >
<h3 onClick={()=>{누른제목변경(i)}}>{tit}<span onClick={() => { 따봉변경(따봉 + 1) }}>👍</span>{따봉}</h3>
<p>따봉변경 함수를 쓸 수 있다</p>
<hr />
</div>
)
})
}
<div className="list">
<h3 onClick={()=>{modal변경(!modal)}}>{title2[3]}</h3>
<p>2월 17일 발행</p>
<hr />
</div>
<button onClick={()=>{누른제목변경(0)}}>버튼1</button>
<button onClick={()=>{누른제목변경(1)}}>버튼2</button>
<button onClick={()=>{누른제목변경(2)}}>버튼3</button>
<button onClick={()=>{누른제목변경(3)}}>버튼4</button>
{ modal === true ? <Modal title2={title2} 누른제목={누른제목}></Modal> : null }
</div>
);
}
function Modal(props){
return(
<div className='modal'>
<h2>{props.title2[props.누른제목]}</h2>
<p>날짜</p>
</div>
)
}
export default App;
'코딩애플 > 코딩애플-React' 카테고리의 다른 글
[1]class를 이용한 옛날 옛적 React 문법 (0) | 2022.01.26 |
---|---|
[11] input (0) | 2022.01.18 |
[9] prop (0) | 2022.01.18 |
[8] map (0) | 2022.01.18 |
[7] Modal UI, if문 (0) | 2022.01.17 |