고슴맨쉬
망치와 공(空)
고슴맨쉬
  • 분류 전체보기 (155)
    • 💡 UXUI (4)
      • UXUI (2)
      • UI (2)
      • UX (0)
    • 🟨 JavaScript (66)
      • 개념 (42)
      • 정리 (2)
      • 문제풀기 (프로그래머스, 코딩애플) (15)
      • 응용하여 자동화or문제해결하기 (2)
      • 기타 (5)
    • ⚛️ React (49)
      • 개념 (27)
      • 개념(Redux) (3)
      • 정리 (4)
      • 문제풀기 (코딩애플: React) (15)
    • 📘 TypeScript (10)
      • 개념 (8)
      • 문제풀기 (코딩애플) (2)
    • 🌐 HTML,CSS (18)
      • 실무에서 자주 발생한 오류들 (10)
      • 뒤늦게 알아서 뼈아픈 유용한 CSS (6)
      • 기타 자주 쓰는 CSS (2)
    • 💻 CS (8)
      • CS (5)
      • 정규표현식 (2)
      • Git,Github (1)

태그

  • redux
  • CSS
  • JavaScript
  • class
  • axios
  • UXUI
  • 삼항연산자
  • Props
  • useEffect
  • 오류
  • array
  • 프로그래머스
  • object
  • 코딩애플
  • Ajax
  • json
  • react
  • state
  • CS
  • TypeScript
전체 방문자
오늘
어제
hELLO · Designed By 정상우.
고슴맨쉬

망치와 공(空)

⚛️ React/문제풀기 (코딩애플: React)

React : 클릭한 글의 제목이 모달에 뜨게 만들기 (props, 삼항연산자)

2023. 5. 8. 13:20

조건

클릭한 글의 제목이 모달에 뜨게 만들기


풀이

function App() {
  let [title, setTitle] = useState(['쌍검사길드에서 닌자시작퀘 받기', '파판14 초보자 가이드 이벤트 진행안내', '귀여운 구부 꼬마친구를 받아보자']);
  let [modal, setModal] = useState(false);
  let [titleindex,  setTitleindex] = useState(0);

  return (
    <div className="App">
      { 
        title.map(function(a,i){
          return (
          <div className="list" key={i}>
            <h4>{ title[i] }</h4>
            <button onClick={()=>{ modal ? setModal(false) : (setModal(true), setTitleindex(i)) } }>🗨</button>
            <p>2월 18일 발행</p>
          </div>
          );
        }) 
      }
      {modal && <Modal title={title} titleindex={titleindex}/>}
    </div>
  );
}
function Modal(props){
  return(
    <div className='modal'>
      <h4>{ props.title[props.titleindex] }</h4>
      <p>날짜</p>
      <p>상세내용</p>
    </div>
  )
}
  1. let [titleindex,  setTitleindex] = useState(0);로 글 제목의 인덱스 state를 만들었다.
  2. 부모의 modal을 생성하는 위치에 {modal && <Modal title={title} titleindex={titleindex}/>}로 titleindex를 props로 전송했다.
  3. 자식 modal의 글 제목에 <h4>{ props.title[props.titleindex] }</h4> title[i] 형태로 받은 props를 넣어주었다.
  4. 부모의 modal을 토글하는 버튼에 setModal(true)와 함께 titleindex state를 바꿔주는 함수를 같이 넣어주었다.

알게 된 점

자식 modal에서 title의 index를 어떻게 넘겨받을지 계속 시도했는데, 숫자값만 반환하는 새로운 state를 만들면 된다는 쉬운 사실을 간과했다.


출처 : 코딩애플 https://codingapple.com/

저작자표시 비영리 동일조건 (새창열림)

'⚛️ React > 문제풀기 (코딩애플: React)' 카테고리의 다른 글

React : 2초 뒤에 사라지는 alert 만들기 (useEffect, 숏서킷평가)  (0) 2023.05.23
React : 가나다정렬되어도 끄떡없는 상세페이지 불러오기 (useParams, find())  (1) 2023.05.22
React : 데이터 바인딩해서 컴포넌트로 뿌리기 (템플릿 리터럴 Template literal)  (0) 2023.05.18
React : input에 글 쓰면 게시글 추가하기 (onChange, 매개변수, trim, splice)  (0) 2023.05.11
React : 좋아요버튼 만들기 (숏서킷평가,삼항연산자)  (0) 2023.05.02
    '⚛️ React/문제풀기 (코딩애플: React)' 카테고리의 다른 글
    • React : 가나다정렬되어도 끄떡없는 상세페이지 불러오기 (useParams, find())
    • React : 데이터 바인딩해서 컴포넌트로 뿌리기 (템플릿 리터럴 Template literal)
    • React : input에 글 쓰면 게시글 추가하기 (onChange, 매개변수, trim, splice)
    • React : 좋아요버튼 만들기 (숏서킷평가,삼항연산자)
    고슴맨쉬
    고슴맨쉬
    부수되 집착하지 않고, 이해하되 머무르지 않기

    티스토리툴바