Skip to content

Commit

Permalink
Add quickstart.mdx
Browse files Browse the repository at this point in the history
  • Loading branch information
kazukidddd committed Jul 10, 2024
1 parent 9112e1b commit 1b84216
Showing 1 changed file with 18 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,19 +37,19 @@ final myNotifierProvider = ChangeNotifierProvider<MyNotifier>((ref) {
ご覧のとおり、Riverpod は[ChangeNotifierProvider]クラスを公開しており、これは Provider パッケージ
からの移行をサポートするためのものです。

このプロバイダは新しいコードを書く際には推奨されず、Riverpod の最適な使用方法ではありませんが、移行を始めるための穏やかで非常に簡単な方法です。
この provider は新しいコードを書く際には推奨されず、Riverpod の最適な使用方法ではありませんが、移行を始めるための穏やかで非常に簡単な方法です。

:::tip
`ChangeNotifier` をすぐに最新の[Riverpod の provider]に変更する必要はありません。これらには多少のパラダイムシフトが必要な場合があり、最初は難しいかもしれません。

まずは Riverpod に慣れることが重要です。
provider パッケージ の ほとんどすべての Provider には、 riverpod パッケージに厳密に対応するものがあることがすぐにわかるでしょう。
Provider パッケージ の ほとんどすべての provider には、 riverpod パッケージに厳密に対応するものがあることがすぐにわかるでしょう。
:::

## *leaves*で始まる
## **から始める

依存関係のないプロバイダから始めます。つまり、依存関係ツリーの葉から始めます。
葉のすべてを移行したら、次に葉に依存するプロバイダに移行します
依存関係のない provider から始めます。つまり、依存関係ツリーの葉から始めます。
すべての葉を移行したら、次に葉に依存する provider に移行します

言い換えれば、最初は ProxyProvider の移行を避け、その依存関係がすべて移行された後に取り組みます。

Expand Down Expand Up @@ -89,12 +89,12 @@ MultiProvider(
この方法では、最初にルートウィジェットだけを`ConsumerWidget`に変換する必要があります。
これにより、Riverpod パッケージへの移行がさらに容易になります。

## 1 つずつプロバイダを移行する
## 1 つずつ provider を移行する

既存のアプリがある場合、すべてのプロバイダを一度に移行しようとしないでください
既存のアプリがある場合、すべての provider を一度に移行しようとしないでください

長期的にはアプリケーション全体を Riverpod に移行することを目指すべきですが、**無理をしないように**しましょう。
1 つのプロバイダずつ移行します
1 つの provider ずつ移行します

上記の例を考えてみましょう。`myNotifierProvider`を完全に Riverpod に移行するには、次のように記述します:

Expand All @@ -109,33 +109,33 @@ class MyNotifier extends Notifier<int> {
final myNotifierProvider = NotifierProvider<MyNotifier, int>(MyNotifier.new);
```

.. そして、そのプロバイダを消費する方法も変更する必要があります
つまり、このプロバイダに対して `context.watch` の代わりに `ref.watch` を記述します。
.. そして、その provider を消費する方法も変更する必要があります
つまり、この provider に対して `context.watch` の代わりに `ref.watch` を記述します。

この操作には時間がかかることがあり、いくつかのエラーが発生する可能性があるため、一度にこれをすべて行うのは避けましょう。

## `ProxyProvider` の移行

Provider パッケージでは、 `ProxyProvider`は他のプロバイダから値を組み合わせるために使用されます
そのビルドは他のプロバイダの値に依存し、リアクティブに行われます。
Provider パッケージでは、 `ProxyProvider`は他の provider から値を組み合わせるために使用されます
そのビルドは他の provider の値に依存し、リアクティブに行われます。

Riverpod では、プロバイダは[デフォルトで構成可能]です。
そのため、`ProxyProvider`を移行する際には、他のプロバイダに対する直接的な依存関係を宣言したい場合は`ref.watch`を記述するだけです。
Riverpod では、provider は[デフォルトで構成可能]です。
そのため、`ProxyProvider`を移行する際には、他の provider に対する直接的な依存関係を宣言したい場合は`ref.watch`を記述するだけです。

何かあれば、Riverpod を使用して値を組み合わせることは簡単で直感的に感じるはずです。そのため、移行はコードを大幅に簡素化するはずです。

さらに、2 つ以上のプロバイダを組み合わせることに関するごちゃごちゃしたことはありません.
さらに、2 つ以上の provider を組み合わせることに関するごちゃごちゃしたことはありません.
もう 1 つ`ref.watch`を追加するだけで OK です。

## 積極的初期化

Riverpod のプロバイダはグローバルな変数であるため、デフォルトで[遅延初期化]されます。
Riverpod の provider はグローバルな変数であるため、デフォルトで[遅延初期化]されます。

起動時にウォームアップデータや便利なサービスを初期化する必要がある場合、最適な方法は以前に`MultiProvider`を使用していた場所で最初にプロバイダを読み取ることです
起動時にウォームアップデータや便利なサービスを初期化する必要がある場合、最適な方法は以前に`MultiProvider`を使用していた場所で最初に provider を読み取ることです

つまり、Riverpod を積極的に初期化することはできませんが、起動フェーズで読み取ってキャッシュすることで、アプリケーションの他の部分で必要なときにウォームアップされ準備が整うようにすることができます。

Riverpod パッケージのプロバイダの積極的初期化に関する完全なガイドは[こちら]にあります。
Riverpod パッケージの provider の積極的初期化に関する完全なガイドは[こちら]にあります。

## コード生成

Expand Down

0 comments on commit 1b84216

Please sign in to comment.