1.html css 미리 디자인완성
2.UI 현재 상태를 state로 저장
3.state에 따라 ui가 어떻게 보일지 작성

function App() {
let [글제목, set글제목] = useState(['남자 코트 추천', '강남 우동 맛집', '수지 모밀 맛집'])
  let [따봉, set따봉] = useState([0, 0, 0])
  let [modal, setModal] = useState('false');
{
        글제목.map((a, i) => {
          return (
            <div className="list" key={i}>
              <h4 onClick={() => setModal(!modal)}> {글제목[i]}
                <sapn onClick={() => {
                  let copy = [...따봉];
                  copy[i] = copy[i] + 1;
                  set따봉(copy)
                }}>👍</sapn> {따봉}</h4>
              <p>2월 17일 발행</p>
            </div>

          )
        })
      }
      map함수 써서 배열에 있는 값의 개수만큼 html을 반복함
      //array 자료 갯수만큼 함수안의 코드 실행해줌
  //파라미터 a는 array안에 있던 자료임
  //return에 뭐 적으면 array로 담아줌
//유용한 파라미터 두개사용가능
//i는 반목문 돌때마다 0부터 1씩 증가하는 함수임
      
      {
        modal == true ? <Modal set글제목={set글제목} 글제목={글제목} /> : null
      }

위에서  modal 컴포넌트에 set글제목={set글제목}이렇게 넣은 이유는 props로 구멍을 뚫어서 가져왔다고 생각하면됌

 

 

왜이렇게하냐?

 

function 함수(){
  let a = 10;
  //함수안에서 변수들은 함수탈출 불가
}

함수안에서 변수들은 함수탈출이 불가능하기 때문임

 

이문제를 props 라는녀석을 사용해서 해결가능

 
function Modal(props) {
  return (
    <>
      <div className="modal" >
        <h4>{props.글제목[0]}</h4>
        <p>날짜</p>
        <p>상세내용</p>
        <button onClick={() => {
          let copy = 글제목;
          copy[0] = '여자코트 추천'
          set글제목(copy)
        }}>{props.set글제목(copy)}</button>
      </div>
    </>
  )
}

{props.set글제목(copy)}</button> props.setState이렇게하면 부모컴포넌트에서 사용가능함

<App>부모컴포넌트
<Modal>자식컴포넌트


부모컴포넌트에서는 자식컴포넌트에게 state 전송가능함


부모->자식state 전송 하는법
props 문법 쓰면됌
props 전송은 부모->자식만가능
패륜전송금지 불륜전송 금지


컴포넌트 많아지면 props 쓰는게 귀찮아짐

 

자식 컴포넌트 작성방법

1. <자식컴포넌트 작명={state 이름}
 modal == true ? <Modal 작명={state이름} /> : null
2.props 파라미터 등록후 {props.작명} 사용
<h4>props.작명</h4
<div className="modal" style={{ background: props.color }}>
//props로 구멍뚫어줘서 벨류를 갔다쓰게해줌

'리액트' 카테고리의 다른 글

UseEffect와 컴포넌트의 인생  (0) 2022.05.31
React-router-dom 사용법,컴포넌트만들기  (0) 2022.05.30
컴포넌트 만드는법  (0) 2022.04.26
State 변경함수 특징  (0) 2022.04.26
State를 왜써야하는가(+onClick 사용법)  (0) 2022.04.26
복사했습니다!