ReactでReferenceError: Buffer is not definedエラー

Solana AnchorのTSファイルをReactに移行していたときに発生したエラー。
Buffer関連のエラーはよく発生するため、いろいろな情報があったが、自分のケースは以下でしか解決できなかった。

現象

以下のAnchorのTSコードをnpm startすると

    // Get the PDA that is assigned authority to token account.
    const [_pda, _nonce] = await PublicKey.findProgramAddress(
      [Buffer.from(anchor.utils.bytes.utf8.encode("escrow"))],
      program.programId
    );

以下のエラーが発生する。

ReferenceError: Buffer is not defined

原因

詳しく調査していないが、Nodeサーバーのみ対応していて、Reactには対応していないモジュールがあると発生する現象だった気がする。

対応

以下のように追記する。

import { Buffer } from 'buffer';

// @ts-ignore
window.Buffer = Buffer;