Next.js: クライアント コンポーネントがデータを変更した後にサーバー コンポーネントを更新する
P粉832212776
P粉832212776 2023-10-26 17:59:27
0
2
939

私はまだこのシナリオを理解しようとしているところです。 Next.js 13 でこれを行う正しい方法を誰かが提案できますか?

たとえば次のようにサーバー コンポーネントにユーザーのリストを表示します (MongoDB を使用):

リーリー

同じページで、ユーザーを追加するためのクライアント コンポーネントも定義しました:

リーリー

以下に示すように、両方がサーバー コンポーネント ページに一緒に表示されます。

リーリー

新しいユーザーがコレクションに追加されたことを UsersList に「リロード」または「通知」して、新規/更新されたユーザーを強制的に表示するにはどうすればよいですか?

P粉832212776
P粉832212776

全員に返信(2)
P粉904405941

https://stackoverflow.com/a/75127011/17964403 これはクライアント側での変更に最適ですが、クライアントからの入力を使用して検索/フィルタリングなどの操作を行い、同じデータを再フェッチしたい場合は、

のようなことを行うことができます。

リーリー

サーバーコンポーネントでは、検索パラメータを小道具として受け取り、検索パラメータが存在するかどうかを確認し、存在する場合はそのパラメータをフェッチ呼び出しで渡すと、フィルタリングされたアイテムが取得されます。

いいねを押す +0
P粉345302753

クライアント コンポーネントによって更新されたデータをサーバー コンポーネントに反映するには、router.refresh() (router #) を使用できます。 ##useRouter()。 To Do リスト アプリの使用例を次に示します: リーリー リーリー

⚠️:

refresh()クロール リクエストはキャッシュされています。この例では cache: 'no-store' となっているのはそのためです。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート