👋

@amplify/ui-reactを4.xから5.xにアップデートする

2023/10/11に公開

はじめに

Amplify を色々触っているうちに、どうやらボタンコンポーネントの新しいバリエーションが増えていることに気がつきました。
@amplify/ui-reactのアップデートが必要みたいので、今回はアップデートを実践してみたいと思います。

アップデートコマンド

もう、公式見ながらやってしまいますよ〜

npm install @aws-amplify/ui-react@5.x
npm install @aws-amplify/ui-react@5.x

removed 72 packages, changed 4 packages, and audited 2484 packages in 12s

263 packages are looking for funding
  run `npm fund` for details

6 high severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

脆弱性の警告が出てるな。。あとで直さなきゃな。

さっそく実装してみる

とりあえず横に並べてみましょう。
純粋に@colorThemeのみ書いた場合の例です。

  <Flex gap="24px" margin="16px 16px">
    <Button colorTheme="info">
      info
    </Button>
    <Button colorTheme="overlay">
      overlay
    </Button>
    <Button colorTheme="success">
      success
    </Button>
    <Button colorTheme="error">
      error
    </Button>
    <Button colorTheme="warning">
      warning
    </Button>
  </Flex>

画面表示した結果がこちらです。

@variant@colorThemeを組み合わせるとどうなるの??

という疑問が湧いてきたので、やってみます。
結果、destructivewarningについてはvariantが強く、それ以外は、colorThemeが有効になるんですね。

(一番上が、variantのみの表示。
2 つ目からはvariantの設定をしつつ、colorThemeを設定してみた結果になります)

まとめ

というわけで、@amplify/ui-reactを 4.x から 5.x アップデートをしてみたわけですが、特にトラブルなくアップデートできてしまいました。
@colorTheme@variantの関係性については、基本的には@colorTheme > @variantの関係のようですが、destructivewarningについては、variantが強く、指定しても影響しなそうです。

参考リンク

https://ui.docs.amplify.aws/react/getting-started/migration

GitHubで編集を提案

Discussion