당근먹는하니
귀엽고 행복해
당근먹는하니
전체 방문자
오늘
어제
  • 분류 전체보기 (274)
    • 다람쥐🐿 (26)
    • C++ 공부빵야 (7)
    • 공부👻 (5)
    • 프론트엔드✏️ (228)
      • 코드캠프 (120)
      • 팀 프로젝트✨ (31)
      • 개인공부 (67)
    • 프론트엔드 - 바닐라js (7)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • HTML
  • emotion
  • javascrpit
  • React-hook-form
  • algorithm
  • CSS
  • 코딩 부트캠프
  • 팀플
  • 부트캠프
  • refreshtoken
  • 팀 프로젝트
  • react
  • 코딩
  • typescript
  • JS
  • 코드캠프
  • 프로그래머스
  • ssg
  • 공통 컴포넌트
  • 회고
  • 배포
  • 배열
  • next.js
  • 알고리즘
  • graphql
  • javascript
  • 팀프로젝트
  • 프론트엔드
  • 리액트
  • 자바스크립트

최근 댓글

최근 글

티스토리

250x250
반응형
hELLO · Designed By 정상우.
당근먹는하니

귀엽고 행복해

프론트엔드✏️/코드캠프

220611 firebase, react hook form

2022. 6. 12. 01:17
728x90
반응형
// 터미널에서 npm 또는 yarn 설치
npm install firebase

yarn add firebase

 

//_app.js or _app.tsx 에서

import { initializeApp } from 'firebase/app';

// TODO: Replace the following with your app's Firebase project configuration
const firebaseConfig = {
  //...
};

export const firebaseApp = initializeApp(firebaseConfig);
// export를 붙여준다.

 

//애널리틱스 

import { } from 'firebase/analytics';

// firebaseConfig에 
measurementId:
// 추가
// 애널리틱스까지 포함한 내 _app.tsx

import { initializeApp } from "firebase/app";
import { getAnalytics } from "firebase/analytics";
// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries

// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
const firebaseConfig = {
  apiKey: "@@",
  authDomain: "@@",
  projectId: "@@",
  storageBucket: "@@",
  messagingSenderId: "@@",
  appId: "@@",
  measurementId: "@@"
};

export const firebaseApp = initializeApp(firebaseConfig);
export const analytics = getAnalytics(firebaseApp);

 

근데 이거 안됨... 안돼요 analytics 가져오는 방법이 잘못됐나봐요... 하핫;~ ! 

 

react hook form 

form 안에 있는 모든 버튼이 

누르기만 하면 페이지가 리렌더링됨

 

 

dk boardWrite 리팩토링 너무 어렵다 ㅇ너무너무너무너무 

리액트 훅이랑 yup이용하려고 id랑 onchangeInputs 빼놨더니 당연히 값 안 들어가고

그래서 리액트 훅에서 submit 하면 data가 들어온대서 그걸 이용하려고 했는데

뭐 button에 submit걸어놓기만 하면 무조건 화면 리렌더링 되니까 그러지도 못하겠고

그리고 일단 우편번호 검색이나 이미지 첨부 버튼만 눌러도 리렌더링 되는데 ..ㅠㅠ ㅠㅠㅠ <form 안에 onSubmit 안 써도 그냥 버튼에 type="button"이라고 걸어두지 않는 이상 화면 무조건 다시 불러와져서 엥 엥엥 왜그러는거냐고...

침착하고 독스를보자 

 

"handleSubmit" will validate your inputs before invoking "onSubmit"

<form onSubmit={handleSubmit(onSubmit)}>
이라고 쓰니까 리렌더링 안된다 근데 너무 배고프다 
 const onSubmit = (data) => {
    console.log(data);
    props.setInputs(data);
  };
  
  
export default function BoardWriteUI(props) {
 
<form onSubmit={handleSubmit(onSubmit)}>

	...


	<S.Submit
         type="submit"
       	 isActive={formState.isValid}
         onClick={showModal}
       	   >
       	     {props.isEdit ? "수정🔮" : "등록🎉"}하기
       	   </S.Submit>
          
          
         
	</form>

}

1. form에 onSubmit에 handleSubmit(onSubmit) 바인딩

2. form 안의 제출 버튼에 type="submit" (디폴트가 submit이긴 하지만 명시함)

3. form 안의 제출 버튼 누르면 Modal이 뜨도록 함, 여기서 타입이 submit이어서 onSubmit이 실행됨

4. onSubmit에서 setInputs로 Inputs에 data를 넣어줌

5. Modal에서 네를 누를 땐 Inputs에 data가 들어와있기 때문에 정상적으로 작동!

 

아니 근데 이게 맞나..?ㅎㅎ 모르겠지만~ 일단 여기까지만 리팩토링 하는 걸로ㅠㅠ(리팩토링 된지도 잘 모르겠다)

 

지금 궁금한건 Input01로 다 넣어놨는데, 각각 css를 다르게 줄 수 있는지...? 어떻게 줘야하는지?임

728x90
반응형
저작자표시 비영리 동일조건 (새창열림)

'프론트엔드✏️ > 코드캠프' 카테고리의 다른 글

리액트 커링(React Currying)  (0) 2022.06.12
220612 프론트엔드 부트캠프 33일차: 주말  (0) 2022.06.12
220611 프론트엔드 부트캠프 32일차 : 주말,  (0) 2022.06.12
220610 프론트엔드 부트캠프 31일차 : HOF, react-hook-form, yup  (0) 2022.06.11
알고리즘 - 수열, 폰켓몬  (0) 2022.06.10
    '프론트엔드✏️/코드캠프' 카테고리의 다른 글
    • 리액트 커링(React Currying)
    • 220612 프론트엔드 부트캠프 33일차: 주말
    • 220611 프론트엔드 부트캠프 32일차 : 주말,
    • 220610 프론트엔드 부트캠프 31일차 : HOF, react-hook-form, yup
    당근먹는하니
    당근먹는하니

    티스토리툴바