Laravelのlivewireでpaginationが動かないとき

livewireでページネーションを組み合わせて実装していたとき、表示して1回目のリンクは問題なく動作するが、2回目以降は動作しないという問題が起きていました。
今回私がハマった理由は、wire:keyの使い方が間違っていました。
元のコードは以下のような形です。
@foreach ($users as $user)
<div>
<livewire:basic-info />
<livewire:details />
</div>
@endforeach
間違った例はこんな感じ。
@foreach ($users as $user)
<div :wire:key="$user->id">
<livewire:basic-info />
<livewire:details />
</div>
@endforeach
うまく動作した例はこうでした。
@foreach ($users as $user)
<div>
<livewire:basic-info :wire:key="'basic-info-' . $user->id" />
<livewire:details :wire:key="'details-' . $user->id" />
</div>
@endforeach
それぞれのlivewireコンポーネントにkeyを設定する必要があるようです。
システム開発のご相談はお気軽に
要件定義から運用まで、お客様のビジネスに最適なシステムをご提案いたします。
まずはお気軽にご相談ください。
初回相談無料
お見積もり無料
土日対応
今月の見積もり受付、残り2社様です
小さな会社なので、お客様一社一社に丁寧に向き合うため、
同時にお受けできる案件数に限りがございます