我目前正在使用Next 13开发一个Web系统,在那里我需要填充一个选择元素,我对一个“问题”想得太多。我必须填充我的选择与一些数据来自我的数据库,但这个选择是在我的形式,是客户端(不能是服务器组件)。我的问题是,我应该在服务器端获取数据并将其作为 prop 传递给我的组件,还是只在客户端获取数据。此表单用于两个路由,即 "/new” 和 "/edit”。在服务器端获取的问题是,我需要在两个不同的页面上获取相同的数据,我不知道这样做是否正确
odopli941#
当涉及到在使用Next.js开发的Web系统中填充select元素时,您有两个选项来获取数据。让我们讨论一下每种方法的优缺点:1-在服务器端获取数据并将其作为prop传递:优点:
缺点:
2-在客户端获取数据:优点:
考虑到您的具体情况,需要为“/new”和“/edit”路由获取相同的数据,您可以选择客户端获取以避免冗余请求。你可以获取数据一次,并将其存储在共享状态管理解决方案中,如Redux,React Context或Next.js的内置状态管理。或者,如果数据不经常更改,并且您更喜欢利用服务器端呈现的好处,您仍然可以在服务器端获取数据,但请确保实现适当的缓存机制以最大限度地减少冗余请求。
1条答案
按热度按时间odopli941#
当涉及到在使用Next.js开发的Web系统中填充select元素时,您有两个选项来获取数据。让我们讨论一下每种方法的优缺点:
1-在服务器端获取数据并将其作为prop传递:
优点:
缺点:
2-在客户端获取数据:
优点:
缺点:
考虑到您的具体情况,需要为“/new”和“/edit”路由获取相同的数据,您可以选择客户端获取以避免冗余请求。你可以获取数据一次,并将其存储在共享状态管理解决方案中,如Redux,React Context或Next.js的内置状态管理。
或者,如果数据不经常更改,并且您更喜欢利用服务器端呈现的好处,您仍然可以在服务器端获取数据,但请确保实现适当的缓存机制以最大限度地减少冗余请求。