首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这段代码会重复出现呢?

为什么这段代码会重复出现呢?
EN

Stack Overflow用户
提问于 2015-11-27 12:21:53
回答 1查看 76关注 0票数 2

下面的代码片段出现在

http://www.jchapron.com/2015/08/14/getting-started-with-redux/

代码语言:javascript
复制
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
  );

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-27 12:31:23

为什么作者将initialCreateStore导入为createStore

他不知道,情况正好相反。import正在模块作用域中创建initialCreateStore绑定。

为什么他会将同样的结果重新分配给createStore呢?

因为你的唠叨。他想要明确地指出,它只是导出绑定的初始值。

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

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

但是,作者确实希望用自己的createStore覆盖__DEV__,因此他确实需要声明自己与export let createStore的绑定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33957341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档