브라우저 확장 기능 - React로 강화

이제 Tailwind CSS 및 Parcel을 사용하여 브라우저 확장 프로그램을 실행하고 있으므로 더 대화식으로 만드는 방법을 살펴보겠습니다.

익숙한 프레임워크를 선택할 수 있습니다. 나는 이것을 위해 React를 사용하기로 결정했습니다.

아이디어는 대화식 새 탭 브라우저 확장을 갖도록 React를 추가하는 것입니다.



Note: if you want to follow along, use the following GitHub branch.



종속성 설치



먼저 프로젝트에 React를 사용할 계획임을 알려야 하므로 필요한 종속 항목을 설치하겠습니다.

npm i react react-dom


그런 다음 계속해서 src 폴더를 만들 수 있습니다. React 애플리케이션의 중심 장소가 될 것입니다.

반응 설정



이제 모든 것이 설치되었으므로 이 두 가지만 필요합니다 🤯.

계속해서 React 앱을 렌더링할 수 있습니다.new-tab.html 페이지를 엽니다. 지금까지는 이것이 우리 애플리케이션의 소스였지만 HTML을 제거하고 내부에 배치해 보겠습니다.

<body>
  <div id="app"></div>
  <script type="module" src="index.js"></script>
</body>


이것은 우리가 React를 주입할 수 있는 주입 지점이 될 것입니다.

또한 React 주입을 처리할 스크립트를 추가했습니다.

계속해서 이 index.js 파일을 만드십시오.

import ReactDOM from 'react-dom';
import { App } from './src/App';

const app = document.getElementById('app');
ReactDOM.render(<App />, app);


이제 이 App 구성 요소 생성으로 이동할 수 있습니다.App.js 디렉토리에 src 파일을 추가하고 그 안에 다음 내용을 넣습니다.

export function App() {
  return (
    <div className='flex flex-col items-center justify-center w-screen h-screen bg-indigo-400 text-6xl font-bold text-white'>
      <p>Welcome 👋</p>
    </div>
  );
}


이것은 우리가 처음에 이미 가지고 있던 것을 렌더링할 것입니다.Counter.js 구성 요소를 생성하여 대화형으로 만들어 보겠습니다.

import { useState } from 'react';

export default function Counter() {
  const [counter, setCounter] = useState(0);
  const increase = () => setCounter((count) => count + 1);
  const decrease = () => setCounter((count) => count - 1);
  return (
    <div>
      <button onClick={decrease}>-</button>
      <span className='px-4'>{counter}</span>
      <button onClick={increase}>+</button>
    </div>
  );
}


이제 App.js 구성 요소로 돌아가 카운터를 가져옵니다.

import Counter from './Counter';

export function App() {
  return (
    <div className='flex flex-col items-center justify-center w-screen h-screen bg-indigo-400 text-6xl font-bold text-white'>
      <p>Welcome 👋</p>
      <br />
      <Counter />
    </div>
  );
}


이제 감시 또는 빌드 명령을 실행하면 새로운 React 기반 브라우저 확장을 사용할 수 있어야 합니다.

npm run build


Note: ensure to use the dist folder when loading the extension





이 문서의 코드는 GitHub에서 찾을 수 있습니다.

읽어주셔서 감사합니다. 연결해 봅시다!



제 블로그를 읽어주셔서 감사합니다. 내 이메일 뉴스레터를 구독하고 Facebook에 연결하거나

좋은 웹페이지 즐겨찾기