👉 CRA를 통해 프로젝트를 만들면 기본적으로 설치되는 것들이 있죠!
그 중 하나가 webVitals입니다! CRA 4 버전부터 새로 추가되었어요. 추가된 김에 이 webVitals를 써봅시다.😉
- webVitals 써보기
1) report를 콘솔에 찍어서 확인 해보기!
//index.js
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './shared/App';
import reportWebVitals from './reportWebVitals';
import store from "./redux/configureStore";
import { Provider } from "react-redux";
ReactDOM.render(
,
document.getElementById("root")
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: <https://bit.ly/CRA-vitals>
reportWebVitals(console.log);
2) 어딘가에 보내고 싶다면?
// 함수를 만들고,
function sendToAnalytics(metric) {
const body = JSON.stringify(metric);
const url = '<https://example.com/analytics>';
// Use `navigator.sendBeacon()` if available, falling back to `fetch()`
if (navigator.sendBeacon) {
navigator.sendBeacon(url, body);
} else {
fetch(url, { body, method: 'POST', keepalive: true });
}
}
// console.log 대신 넘겨줘요!
reportWebVitals(sendToAnalytics);
- firebase analytics 연결하기
1) analytics 연결하기
...
import "firebase/analytics";
const firebaseConfig = {
// 인증 정보!
};
...
const analytics = firebase.analytics();
export{auth, apiKey, firestore, storage, realtime, analytics};
2) 리포트 보내기
//index.js
...
import { analytics } from "./shared/firebase";
...
function sendToAnalytics(metric) {
const _report = JSON.stringify(metric);
analytics.logEvent("web_vital_report", _report);
console.log({ _report });
}
reportWebVitals(sendToAnalytics);
3) 확인하기
: 대시보드에서 확인 해봅시다!
'항해 중 > 5주차 리액트 심화반' 카테고리의 다른 글
5주차 - 렌더링 횟수 줄이기 (0) | 2021.12.04 |
---|---|
5주차 - Meta tag (0) | 2021.12.04 |
5주차 - Pre-rendering (0) | 2021.12.04 |
5주차 - SEO란(검색 엔진 최적화)? (0) | 2021.12.04 |
5주차 - 프로젝트 호스팅 하기 (0) | 2021.12.04 |
댓글