Reactjs 静态盖茨比页面中是否可能有动态反应组件?

Reactjs 静态盖茨比页面中是否可能有动态反应组件?,reactjs,gatsby,Reactjs,Gatsby,问题: 因此,我试图创建一个基本上是静态的Gatsby页面,但是除了右上角之外,还有一个动态组件,它会根据用户是否登录而变化。检查用户是否登录必须动态完成,因为我正在使用HTTP cookie,如果他们没有,则必须对服务进行REST调用以获得新的cookie。我这样做的原因是因为网站大多是静态的,只有右上角的这个小的登录进度是唯一的动态组件。这可能吗 我尝试过的事情: 我尝试过按照盖茨比的教程创建登录,但他们的方法是检查状态并转发到另一个静态站点,这取决于用户是否登录 预期结果: 在页面加载时,

问题: 因此,我试图创建一个基本上是静态的Gatsby页面,但是除了右上角之外,还有一个动态组件,它会根据用户是否登录而变化。检查用户是否登录必须动态完成,因为我正在使用HTTP cookie,如果他们没有,则必须对服务进行REST调用以获得新的cookie。我这样做的原因是因为网站大多是静态的,只有右上角的这个小的登录进度是唯一的动态组件。这可能吗

我尝试过的事情: 我尝试过按照盖茨比的教程创建登录,但他们的方法是检查状态并转发到另一个静态站点,这取决于用户是否登录

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

您应该查看Apollo以进行客户端查询:

这里有一个使用阿波罗和盖茨比的演示

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


Apollo使用GraphQL,但您可以使用类似Apollo link rest的库来查询rest端点。

您应该查看Apollo以进行客户端查询:

这里有一个使用阿波罗和盖茨比的演示

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


Apollo使用GraphQL,但您可以使用类似Apollo link rest的库来查询rest端点。

Gatsby不仅生成静态站点,还生成web应用程序;您可以期望使用普通react代码执行任何操作,包括在组件装载时发送ajax请求、更新本地状态,或者其他任何elseGatsby不生成静态站点,而是生成web应用程序的操作;您可以期望使用普通react代码执行任何操作,包括在组件装载时发送ajax请求、更新本地状态或其他任何操作