Javascript “的目的是什么?”@@INIT";react redux中的操作?

Javascript “的目的是什么?”@@INIT";react redux中的操作?,javascript,reactjs,redux,Javascript,Reactjs,Redux,只是注意到它总是在打开页面时发送的第一个操作。它是否用于使用reducer的默认状态初始化存储?我认为这将回答您的问题 更新24.02.2020 由于@IsaacLyman明确表示并在评论中获得了一些赞成票,我决定进行更新以解决问题。为了澄清,所讨论的源代码如下: const ActionTypes = { INIT: `@@redux/INIT${/* #__PURE__ */ randomString()}`, ... } “randomString”最初是在中引入的,在中,您

只是注意到它总是在打开页面时发送的第一个操作。它是否用于使用reducer的默认状态初始化存储?

我认为这将回答您的问题

更新24.02.2020

由于@IsaacLyman明确表示并在评论中获得了一些赞成票,我决定进行更新以解决问题。为了澄清,所讨论的源代码如下:

const ActionTypes = {
  INIT: `@@redux/INIT${/* #__PURE__ */ randomString()}`,
  ...
}

“randomString”最初是在中引入的,在中,您可以看到实际的更改(并阅读作者的简短评论)。然而,我也发现了丹·阿布拉莫夫的一份“官方声明”,其中指出:

“…任何前缀为
@
的操作都不应被处理。例如,您不应尝试处理
@@INIT
。我们可以通过稍微随机化名称(例如
@@INIT\u 2hj3jh34
)来强制执行该操作。”

手动处理
@@INIT
将中断热重新加载。每次热重新加载时都会调用它,因此如果在那里进行初始数据转换,第二次将无法工作。“


因此,它实际上并不打算让随机字符串可见。

在redux源代码中,
ActionTypes.INIT
指的是
“@@redux/INIT”
加上一个随机字符串。但是在我的web应用程序中,动作类型是作为
“@@INIT”
,即使该特定字符串在redux源代码中不存在。有人能解释一下吗?@IsaacLyman即使你很久以前问过我,我还是更新了我的答案,以便在你的评论中回答这个问题。
const ActionTypes = {
  INIT: `@@redux/INIT${/* #__PURE__ */ randomString()}`,
  ...
}