GVKun编程网logo

如何在 NextJs 中为 getStaticProps 自动更新缓存?

11

本篇文章给大家谈谈如何在NextJs中为getStaticProps自动更新缓存?,同时本文还将给你拓展Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)_extjs、ge

本篇文章给大家谈谈如何在 NextJs 中为 getStaticProps 自动更新缓存?,同时本文还将给你拓展Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)_extjs、getStaticProps 的“notFound”属性对页面 http 状态码没有影响、mapstatetoprops 更新 state 但 props 不更新渲染的问题、Next.js - 如何在 getServerSideProps 之外获取 cookie?等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何在 NextJs 中为 getStaticProps 自动更新缓存?

如何在 NextJs 中为 getStaticProps 自动更新缓存?

如何解决如何在 NextJs 中为 getStaticProps 自动更新缓存??

我正在使用 getStaticProps()revalidate: 3600 // 1 小时getStaticProps() 中,我确实通过 fetch 从 API 获取数据。 构建后,我看到 API 中的数据是静态的,永远不会更新。

我可以在没有新构建的情况下以某种方式从 API 重新获取数据吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)_extjs

Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)_extjs

复制代码 代码如下:

var Store = Ext.create(''Ext.data.Store'', {
pageSize: pageSize,
model: ''Ext.data.Model名称'',
autoLoad: false,
proxy: {
type: ''ajax'',
url: ''请求路径'',
getMethod: function(){ return ''POST''; },//亮点,设置请求方式,默认为GET
reader: {
type: ''json'',
root: ''Data'',
totalProperty: ''totalCount''
}
},
listeners: {
''beforeload'': function (store, op, options) {
var params = {
//参数
};
Ext.apply(store.proxy.extraParams, params);
}
}
});

getStaticProps 的“notFound”属性对页面 http 状态码没有影响

getStaticProps 的“notFound”属性对页面 http 状态码没有影响

对于此特定用例,您必须改用 fallback: 'blocking'

export const getStaticPaths = async () =>  {
  return {
    paths: [
      { params: { slug: "a" }},{ params: { slug: "b" }},{ params: { slug: "c" }}
    ],fallback: 'blocking'
  }
}

fallback: true 不同,如果页面尚未生成,它将提供“后备”版本(我想这就是为什么您总是获得 200 状态代码)。

相反,fallback: 'blocking' 将在呈现页面之前等待 HTML 生成 - 类似于 SSR 期间发生的情况。这意味着如果从 notFound: true 返回 getStaticProps,您将获得页面请求的正确 404 状态代码。

mapstatetoprops 更新 state 但 props 不更新渲染的问题

mapstatetoprops 更新 state 但 props 不更新渲染的问题

通过 react-redux 和 redux 实现 react 组件之间的通信,reducer、action、store 都编写正确,mapDispatchToProps 也能正确传值。唯独 mapStateToProps 的 return 出现了问题

reduce

action

connect 绑定

 

 组件渲染

本来的需求是登陆成功组件获得新的 props,随之更新 img 和 div 内容,但是却发现在 mapstatetoprops 函数中,state 确实能够实时更新,但 props 却只显示第一次的内容,不会随着更新,也就是说组件不会重新渲染,登陆成功之后依然显示未登录,网上查找各种方式都没有效果,最后是改变量名的方法解决的,之前出错的代码是这样写的

return 的时候 props 属性名和 state 属性名一样,但将 props 属性名换掉之后就正常了

Next.js - 如何在 getServerSideProps 之外获取 cookie?

Next.js - 如何在 getServerSideProps 之外获取 cookie?

如何解决Next.js - 如何在 getServerSideProps 之外获取 cookie??

我在 getServerSideProps 中有这个代码,它给了我一个名为 token 的 cookie 的令牌值:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.5.2</version>
</dependency>

cookie 是一个 httpOnly cookie,我从使用 Set-Cookie 标头发送的 post 请求中收到。

问题是,我想不仅在页面组件中使用令牌(getServerSide 仅在页面组件中)。在其他组件中,我有时想使用为我提供更多数据的函数,假设客户端的所有消息 - 基于他的令牌(我在 logs.js 中将其限制为 10,我想在我的内部组件中增加它功能) 。通过 props 传递令牌然后在我的函数中使用它是否安全?我有 logs.js 组件,它有另一个名为 Messages 的组件,在 Messages 组件中,我想调用一个函数来获取更多消息,但我不确定它是否安全,因为在 getServerSideProps 中获取令牌的想法是没有人能看到它,还是我错了?

如果我没记错的话,从客户端获取令牌以便在内部组件内部发送请求的最佳方法是什么?

谢谢!

解决方法

getServerSideProps中获取token的想法是没人能看到

说到 cookie 就不是这样了。 Cookie 将被发送到浏览器,因此任何人都可以看到它。您在 getServerSideProps 中对其进行的操作是隐藏的,但 cookie 本身是可见的。

因为它是一个 httpOnly cookie,所以您无法在客户端使用 javascript 访问它。因此,如果您需要 javascript 中的 cookie 值,您有几个选择:

  1. 读取 getServersideProps 中的 cookie 并将该值传递到您的页面并传递到您的组件。如果您只需要组件读取 cookie 值,这将起作用。
  2. 更改为 { httpOnly: false } cookie,这将允许它被 javascript 读取(和写入)。如果它与安全有关,我不会这样做,因为那样任何人不仅可以读取 cookie,还可以更改它并对其进行任何他们想做的事情。

您提到它是一个令牌 - 最大的问题是:就安全性而言,令牌有什么用?您提到使用它来确定您是否应该拥有 10 个以上的日志。这是业务需求吗?如果有人操纵它显示 20、30、1,000,会不会发生不好的事情(比如你赔钱、违规等?)?

如果您的企业只需要向用户显示 10 个,除非他/她的令牌增加了该限制,并且您不希望用户操纵该限制,请将其保留为 httpOnly,阅读它在 getServerSideProps 中,然后将 number 传递给您的组件。然后,任何东西都不能被操纵或更改,因为客户端无法通过使用令牌来解锁更多日志。

关于如何在 NextJs 中为 getStaticProps 自动更新缓存?的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)_extjs、getStaticProps 的“notFound”属性对页面 http 状态码没有影响、mapstatetoprops 更新 state 但 props 不更新渲染的问题、Next.js - 如何在 getServerSideProps 之外获取 cookie?等相关知识的信息别忘了在本站进行查找喔。

本文标签:

上一篇如何将 Accept-Ranges 标头添加到 nodejs 中的响应

下一篇如何设置我可以在 IDEA 中工作的 GHCJS 项目?(idea gwt)