重新編寫的標題:使用混合渲染(​​伺服器端+客戶端)技術
P粉725827686
P粉725827686 2024-02-25 16:20:31
0
1
403

我想建立一個電子商務平台,需要在伺服器上渲染頁面(在伺服器上計算初始狀態),但使用 React 或 vue 元件進行過濾,透過使用 api 呼叫取得過濾後的資料來更改初始狀態。 < /p>

您知道任何支援在一個路由/頁面中結合伺服器端和客戶端渲染的 JavaScript 框架嗎?

P粉725827686
P粉725827686

全部回覆(1)
P粉212114661

Next JS 可以實現這一點。它支援伺服器端和客戶端渲染。

這是一個結合了兩者的範例:

import { useState } from 'react'
import { useRouter } 從 'next/router'

function EventList({ eventList }) {
  const [events, setEvents] = useState(eventList)
  const router = useRouter()

  const fetchSportsEvents = async () => {
    const response = await fetch('http://localhost:4000/events?category=sports')
    const data = await response.json()
    setEvents(data)
    router.push('/events?category=sports', undefined, { shallow: true })
  }
  return (
    
      
      

List of events

{events.map(event => { return (

{event.id} {event.title} {event.date} | {event.category}

{event.description}


) })} > ) } export default EventList export async function getServerSideProps(context) { const { query } = context const { category } = query const queryString = category ? 'category=sports' : '' const response = await fetch(`http://localhost:4000/events?${queryString}`) const data = await response.json() return { props: { eventList: data } } }
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板