Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么这段代码会重复?_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript 为什么这段代码会重复?

Javascript 为什么这段代码会重复?,javascript,ecmascript-6,Javascript,Ecmascript 6,在上找到以下代码段 为什么作者将initialCreateStore导入为createStore,然后将相同的结果重新分配给createStore 从一开始就导入createStore不会做同样的事情吗 为什么作者将initialCreateStore导入为createStore 他没有,相反。import正在模块范围内创建一个initialCreateStore绑定 为什么他要将相同的结果重新分配给createStore 因为冗长。他想明确表示,这只是导出绑定的初始值 从一开始就导入crea

在上找到以下代码段

为什么作者将
initialCreateStore
导入为
createStore
,然后将相同的结果重新分配给
createStore

从一开始就导入
createStore
不会做同样的事情吗

为什么作者将
initialCreateStore
导入为
createStore

他没有,相反。
import
正在模块范围内创建一个
initialCreateStore
绑定

为什么他要将相同的结果重新分配给
createStore

因为冗长。他想明确表示,这只是导出绑定的初始值

从一开始就导入
createStore
不会做同样的事情吗

否,因为在ES6中,导入的绑定是“不可变的”——它们可以更改(如果它们在导出它们的模块中更改),但不能在导入模块中分配到它们。

但是,作者确实希望在出现
\uu DEV\uuu
的情况下用自己的来覆盖
createStore
,因此他确实需要声明自己与
导出的绑定,让createStore

非常感谢,这是有意义的。我仍在尝试适应这种语法:)
import React from 'react';  
import { createStore as initialCreateStore, compose } from 'redux';

export let createStore = initialCreateStore;

if (__DEV__) {  
  createStore = compose(
    require('redux-devtools').devTools(),
    require('redux-devtools').persistState(
      window.location.href.match(/[?&]debug_session=([^&]+)\b/)
    ),
    createStore
  );