Redux中的初始化代码是什么?

时间:2018-09-11 12:22:10

标签: redux

这是我工作的回购中已经存在的一些代码。看起来像是jQuery全局声明了。通过注释进行垃圾回收有什么需要?

// Initialize application
global.$ = $
$.ajaxSetup({cache: false})
$.ajaxPrefilter(function (options) {
})

// Grab the state from a global variable injected into the server-generated HTML
const preloadedState = window.__APP_INITIAL_STATE__
global.webSocketURL = preloadedState.webSocketURL

// Allow the passed state to be garbage-collected
delete window.__APP_INITIAL_STATE__

1 个答案:

答案 0 :(得分:1)

总而言之,我认为这是在设置jquery如何处理ajax请求,然后从服务器呈现状态获取一个值。然后,它不再需要该状态。


首先,将global.$设置为此上下文中的$。我们可以根据下一行假设它是jquery。

global.$ = $

设置jquery以对所有ajax调用使用默认值:

$.ajaxSetup({cache: false})

老实说,我认为这行没有任何作用

$.ajaxPrefilter(function (options) {
})

window.__APP_INITIAL_STATE__获取状态。通常,在进行某种服务器端渲染时会看到此情况。

const preloadedState = window.__APP_INITIAL_STATE__

根据webSocketURL从预加载状态设置全局变量

global.webSocketURL = preloadedState.webSocketURL

我们可以假定不再需要初始状态(大概是服务器端呈现的状态),现在可以将其删除:

delete window.__APP_INITIAL_STATE__