Quickstart: Chrome Storage

Chrome ストレージを使用したクイックスタート

はじめに

Chrome ストレージは、拡張機能でデータを永続的に保存するための強力なメカニズムです。開発者が永続的なデータを保存していた従来の永続的なバックグラウンドページが存在しなくなったMV3 (Manifest V3) では不可欠です。

Plasmo ストレージ

chrome.storage APIの上に、特にReactアプリを作成する場合に、使用をはるかに容易にするライブラリ を構築しました。

ストレージフック

当社のライブラリは、ストレージへの読み書きを行うためのReactフックを提供します。

いくつかの使用例を以下に示します。

popup.tsx
import { useStorage } from "@plasmohq/storage/hook"
 
function IndexPopup() {
  const [openCount] = useStorage<number>("open-count", (storedCount) =>
    typeof storedCount === "undefined" ? 0 : storedCount + 1
  )
 
  const [checked, setChecked] = useStorage("checked", true)
 
  return (
    <div
      style={{
        display: "flex",
        flexDirection: "column",
        padding: 16
      }}>
      <p>Times opened: {openCount}</p>
      <input
        type={"checkbox"}
        checked={checked}
        onChange={(e) => setChecked(e.target.checked)}
      />
    </div>
  )
}
 
export default IndexPopup
options.tsx
import { useStorage } from "@plasmohq/storage/hook"
 
function IndexOptions() {
  const [openCount] = useStorage<number>("open-count")
 
  const [checked] = useStorage("checked")
 
  return (
    <div
      style={{
        display: "flex",
        flexDirection: "column",
        padding: 16
      }}>
      <p>Times opened: {openCount}</p>
      <input type={"checkbox"} readOnly checked={checked} />
    </div>
  )
}
 
export default IndexOptions

完全な例

完全な例については、examples GitHubリポジトリのwith-storage (opens in a new tab)をご覧ください。