静态盖茨比页面中可能有动态React组件吗?

时间:2019-04-16 17:34:06

标签: reactjs gatsby

问题: 因此,我试图提供一个大多数静态的盖茨比页面,但除了右上角以外,将有一个动态组件,该组件会根据用户是否登录而变化。由于我使用的是HTTP cookie,因此必须动态地检查用户是否已登录,如果它们没有cookie,则必须对服务进行REST调用以获取新的cookie。我这样做的原因是因为该站点通常是静态的,并且右上角只有一个小的登录进度是唯一的动态组件。这可能吗?

我尝试过的事情: 我已经尝试过按照盖茨比(Gatsby)的教程创建登录名,但是他们的操作方式是检查状态并根据用户是否登录来转发到另一个静态站点。

预期结果: 在页面加载时,我希望该站点大部分保持静态,以加快加载速度,因为大部分页面仅显示CMS的内容,然后显示一个可动态检查用户登录状态的组件。因此,在页面加载时,右上角的组件应该有一个加载图标,如果不是,则为登录按钮,如果是,则为用户信息。

1 个答案:

答案 0 :(得分:0)

您应该检出Apollo进行客户端查询:https://www.apollographql.com/

这里有https://youtu.be/wNUg1jpj9T0?t=1240

的与Gatsby一起使用Apollo的演示

基本上,您可以将React组件包装在可以访问外部API的ApolloProvider中。

Apollo使用GraphQL,但是您可以使用apollo-link-rest之类的库来查询REST端点。