react redux 中间件无法访问 utils 中定义的变量

react redux middleware cannot access variable defined in utils

您好,我创建了一个 redux 自定义中间件,并尝试调用 apiUrl 从 ./utils/api.js 文件中定义和导出的常量值。但出现此错误

ReferenceError: Cannot access 'apiUrl' before initialization

  1. .utils/api.js 文件
    export const apiUrl = window.apiUrl || `${window.location.origin}/api`;
  1. redux-custom-middleware.js 文件
    import * as api from './config/api';
    const apiUrl = api.apiUrl;

虽然,这个常量值在整个应用程序(所有组件和操作)中都可以访问,但无法在 redux 自定义中间件中访问它。

谢谢

您可以导出函数而不是常量,因为函数是急切声明的:

export function apiUrl() {
    return window.apiUrl;
}

这使得您可以立即使用 apiUrl(),因为循环依赖性很好,因为函数是立即“初始化”的。