首页 > 解决方案 > react redux 中间件无法访问 utils 中定义的变量

问题描述

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

ReferenceError:在初始化之前无法访问“apiUrl”

  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 自定义中间件中访问它。

谢谢

标签: javascriptreactjsreduxecmascript-6redux-middleware

解决方案


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

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

这使它可以apiUrl()立即使用,因为循环依赖很好,因为函数会立即“初始化”。


推荐阅读