首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >next.js中的阿波罗-客户端与‘next.js’VS next.js docs中所示的方法(不使用`getDataFromTree`)

next.js中的阿波罗-客户端与‘next.js’VS next.js docs中所示的方法(不使用`getDataFromTree`)
EN

Stack Overflow用户
提问于 2021-08-19 12:59:14
回答 1查看 1.2K关注 0票数 4

next-with-apollo npm库和 next.js文档中显示的方法.中选择的“阿波罗-客户端在next.js”中的对比

next.js为阿波罗客户端选择的方法链接:https://github.com/vercel/next.js/blob/canary/examples/with-apollo/lib/apolloClient.js

在next.js文档方法中

  • 没有使用第三方库,下一个是阿波罗。
  • 不使用从树获取数据的方法。
  • 此外,我发现这种方法更有意义,更优雅的内部工作,客户端重新设计,以及next.js中的阿波罗-客户的SSR。我非常喜欢这个

next-with-apollo 中的几个缺点

  • 在“下一个阿波罗文档”中,有人指出,在withApollo API中,intialState的参数getDataFromTree默认为未由实现者定义的参数,并声明“建议永远不要设置这个支柱,否则页面将是一个没有自动静态优化的lambda”。
  • get-初始道具是使用的,这是不推荐的next.js,因为优化的原因,一般的事情。如果有非第三方的方式,除非它有缺点,为什么要考虑第三方图书馆?

看到很多人使用next-with-apollo,很少看到next.js文档中显示的方法的使用,这让我真的很好奇。我很好奇next.js文档中的方法是否有任何缺点(我强烈认为没有这些缺点)?

  • next.js中显示的方法有一些缺点吗?
  • 下一个阿波罗有更多的效率吗?如果是这样的话,最好不要选择next.js文档方法来提高效率。我想确定如果我拒绝next.js文档方法(目前我选择它),我没有做错任何事情

因此,对于客户端数据获取和服务器-数据获取,哪个更适合于同时支持CSR和SRR??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-20 17:34:20

我通过在next.js社区中发表文章找到了答案:

下面是:

next.js医生的阿波罗例子避免使用getDataFromTree,因为它遍历了反应树两次,以便触发所有查询并收集结果。 在next.js医生的阿波罗例子上使用该方法的缺点是,由于您不使用getDataFromTree,您无法知道您的内部组件正在使用哪些查询。因此,您需要记住在getStaticProps/getServerSideProps上预取所需的一切,并匹配完全相同的查询/变量。 推荐使用next.js医生的阿波罗例子方式,而不是getInitialProps方式,所以我总是使用它们,除非有非常具体的理由不使用。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68848346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档