Grace
grace's dev_note
Grace
전체 방문자
오늘
어제
  • 분류 전체보기
    • FrontEnd
      • Next.js
      • React
      • ReactNativ..
      • Vue
    • Javascript
      • 러닝 자바스크립트
      • 모던 자바스크립트
    • CS
    • DataScienc..
      • Data Struc..
      • LeetCode
    • BackEnd
      • Express
      • Node.js
      • Nest.js
    • DevOps
      • Docker
    • 매일메일
    • 회고
    • 코드캠프

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • React Native
  • node.js
  • Express
  • Vite
  • backend
  • postgres
  • 함수
  • javascript
  • 알고리즘
  • pinia
  • vue-query
  • tanstack
  • 번들러
  • PostgreSQL
  • Vue3
  • vitejs
  • Vue.js
  • 자바스크립트
  • nest.js
  • Vue

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Grace

grace's dev_note

코드캠프

코드캠프 11일차

2022. 10. 2. 20:24

state 끌어올리기


부모 컴포넌트에서 자식 컴포넌트로 state를 넘겨준 후 자식 컴포넌트에서 바뀐 state를 다시 부모컴포넌트에서 바꿔주고 싶을 경우 setState를 자식에게 넘겨주어 자식 컴포넌트에서 setState를 해주면 부모 컴포넌트의 state를 변경해 줄 수 있다.

타입스크립트 참고!

props는 타입추론이 안 되기 때문에 타입을 직접 모두 작성해주어야 한다.

UI 프레임워크

기능을 혼자서 구현해보는 것도 중요하지만 다양한 브라우저에서 다양한 사이즈로 적용했을 때 오류가 없어야하므로 UI 프레임워크를 잘 활용하는 것 또한 중요하다.

아이콘 Ant-Design

id값을 못읽기때문에 id 값을 넣으면 안 된다.

export default function LibraryIconPage() {
  return (
    <div>
      <MyIcon />
      {/* id={data._id} 아이콘에서는 이렇게 id 주면 사라지기떄문에 왠만하면 쓰지않는다.*/}
    </div>
  );
}

별점

Antd 에서 Rate import하기

import { Rate } from "antd";
import { useState } from "react";

별 개수마다 이름 선언해주기

const desc = ["1점", "2점", "3점", "4점", "5점"];
// 위쪽에 넣는 기준  - 하드코딩 (한번만들고 두번다시 거치지 않을 것들)
// 이유 - state가 바뀌면 컴포넌트가 다시 한번 도니까 값이 바뀌지 않을것들은 밖에 있어야한다.

useState를 이용해 별 클릭시에 그에 맞는 value 바꾸기 (별 4개에 4점)

export default function LibraryStarPage() {
  const [value, setValue] = useState(3);
  //   const aaa = 3; 
  // 자신과 가장 가까운 중괄호안에잇는 aaa 를찾고 없으면 다음 중괄호에서 찾는다.
  const handleChange = (value) => {
    // value 는 화살표로 된 중괄호 안의 value 다!
    // console.log(aaa); // 가장 가까운 중괄호안에있는 aaa
    setValue(value);
    alert(value + "점");
  };

html에 Rate 넣기와 value에 따라 정해둔 이름 나오게 하기

  return (
    <span>
      <Rate onChange={handleChange} value={value} />
      {value ? <span className="ant-rate-text">{desc[value - 1]}</span> : ""}
    </span>
  );
}

Youtube

ReactPlayer import하기

import ReactPlayer from "react-player";
import styled from "@emotion/styled";
css 만들기 AntD와 같이 styled() 괄호안에 ReactPlayer 를 넣어준다.
const MyYoutube = styled(ReactPlayer)`
  border: 3px solid yellow;
`;
```js
html에서 url 주소 가져오기 / 크기와 다양한 명령어(muted , playing) 지정

export default function LibraryYoutubePage() {
return (

);
}
```

저작자표시 비영리 변경금지 (새창열림)

'코드캠프' 카테고리의 다른 글

코드캠프 13일차  (0) 2022.10.02
코드캠프 12일차  (0) 2022.10.02
코드캠프 10일차  (0) 2022.10.02
코드캠프 9일차  (0) 2022.09.30
코드캠프 8일차  (0) 2022.09.30
    '코드캠프' 카테고리의 다른 글
    • 코드캠프 13일차
    • 코드캠프 12일차
    • 코드캠프 10일차
    • 코드캠프 9일차
    Grace
    Grace
    기술 및 회고 블로그

    티스토리툴바