Twitter clone uygulaması yapıyorum ve kafam karıştı componente veri yollamada.
şimdi benim index.vue diye ana sayfa template var
<template>
<div class="relative flex flex-col items-center justify-start 2xl:w-7/12 xl:w-7/12 lg:w-7/12 sm:w-7/12 min-h-screen 2xl:ml-[280px] xl:ml-[280px] lg:ml-[80px] sm:ml-[80px]">
<TwitNav/>
<WhatsHappening/>
<TwitPost :tweets="$page.props.tweets" />
</div>
<aside class="2xl:w-5/12 xl:w-5/12 lg:w-5/12 sm:w-5/12 min-h-screen border-l-[0.5px] border-useGray relative flex flex-col justify-start gap-2 items-center px-5">
<TwitSearch />
<TrendsForYou />
<WhoToFollow />
</aside>
</template>
Route::get('/', [TweetsController::class, 'index']);
public function index(Request $request) {
$tweets = Tweet::with('user')->inRandomOrder()->paginate();
if($request->wantsJson()){
return $tweets;
};
return Inertia::render('index', [
'tweets' => $tweets
]);
}
TwitPost
const props = defineProps({
tweets: Object,
})
TwitPost alıyorum fakat bu anasayfada tüm verileri göstermek kullanıcıya tıklayıp attığı tvitleri görmek istediğinizde users.vue yolluyorum
Route::get('/{user:username}', [TweetsController::class, 'users']);
public function users(User $user) {
return Inertia::render('users', [
'user' => $user,
'tweets' => $user->tweets()->with('user')->latest()->paginate()
]);
}
fakat users.vue da da
<TwitPost />
var bende nasıl yapsam bilemedim index de olan ve anasayfaya verileri veren controlleri şu şekilde mi
public function index(Request $request) {
$tweets = Tweet::with('user')->inRandomOrder()->paginate();
if($request->wantsJson()){
return $tweets;
};
return Inertia::render('index', [
'user' => $user,
'tweets' => $tweets
]);
}
yapsam
ve her TwitPost a
<TwitPost :user="$page.props.user" :tweets="$page.props.tweets" />
bu şekilde mi alsam bilemedim.