如何在NextJS13beta中从客户端子组件到父服务器组件进行通信

n3schb8v  于 2023-04-11  发布在  其他
关注(0)|答案(1)|浏览(376)

显然我对这里的基本原则缺乏理解。
我在我的 parentServerComponent 中做了这样的事情:

parentServerComponent.js: 

// some logic and data fetching happening here

return (
  <childClientComponent1 />
  <childClientComponent2 />
)

这个想法是:
1.在 childClientComponent1 中,用户选择了一个我想发送给父节点的Id。
1.在 parentServerComponent 中,我想获取给定Id的对象
1.在 parentServerComponent 中,我想将获取的对象作为属性传递给 childClientComponent2
来自VueJS,我首先想到的是用所选的Id从child到parent发出一个事件,但这种模式似乎在React中不存在。我试图从 parentServerComponent 传递一个回调函数到 childClientComponent1,这是不允许的:“函数不能直接传递给客户端组件,因为它们不可序列化”
nextjs 13测试版文档中阅读应该尽可能使用服务器组件,并且数据获取应该在服务器组件中完成。
但我怎么才能做到呢?

eaf3rand

eaf3rand1#

以下是我做错的地方:我在考虑使用单页应用程序,而不是使用<Link>和React Router在页面之间进行导航。
我需要导航到目标URL路由(/object/[id]),这会触发对服务器上的服务器page.tsx组件的新请求,在那里我可以获取[id]的对象并将其传递给 * childClientComponent 2 *,而不是将所选ID从 * childClientComponent 1 * 传递回客户端上的 * parentServerComponent *。

相关问题