I have a simple NextJS app with Prisma models. One page.tsx
under the app/(authorized)/items
folder and /items
pathname:
<code> const Items = async () => {
const items: items[] = await getItems()
return items.map(item => <div key={item.id}>{item.name}</div>)
}
</code>
<code> const Items = async () => {
const items: items[] = await getItems()
return items.map(item => <div key={item.id}>{item.name}</div>)
}
</code>
const Items = async () => {
const items: items[] = await getItems()
return items.map(item => <div key={item.id}>{item.name}</div>)
}
and actions.ts
:
<code> 'use server'
import { db } from '@/lib/db'
export async function getItems() {
const items = await db.item.findMany()
return items
}
</code>
<code> 'use server'
import { db } from '@/lib/db'
export async function getItems() {
const items = await db.item.findMany()
return items
}
</code>
'use server'
import { db } from '@/lib/db'
export async function getItems() {
const items = await db.item.findMany()
return items
}
and api route.ts
:
<code> export async function POST(request: Request) {
...
const response = await db.item.create({ data })
revalidatePath('/(authorized)/items')
return NextResponse.json(response, { status: 201 })
</code>
<code> export async function POST(request: Request) {
...
const response = await db.item.create({ data })
revalidatePath('/(authorized)/items')
return NextResponse.json(response, { status: 201 })
</code>
export async function POST(request: Request) {
...
const response = await db.item.create({ data })
revalidatePath('/(authorized)/items')
return NextResponse.json(response, { status: 201 })
It should work, but it doesn’t. It doesn’t refresh data on /items
page. Still keeps the old data.
Am I missing something? NextJs v14 bug?