我目前正在使用 redux,并且正在将具有类型属性的对象导出到我的 reducer 文件中。
我的 types.js 文件:
const Types = {LOG_IN:'LOG_IN',REGISTER:'REGISTER'};
export default Types;
我的 reducer.js 文件:
import {LOG_IN,REGISTER} from './types';
//CODE HERE
但是,当我编译时,CRA 给我一个错误:
Attempted import error: 'LOG_IN' is not exported from './types'.
奇怪的是,这段代码有效:
import Types from './types';
const {LOG_IN,REGISTER} = Types;
为什么我的代码结构不适用于那种导入形式,而 React 和 Redux 的代码却可以?先感谢您。
您需要为每个常量显式定义一个命名导出以使其工作。
export const LOG_IN = 'LOG_IN';
export const REGISTER = 'REGISTER';
导入命名导出与解构默认导出不同,当您执行此操作时会发生这种情况:
import Types from './types';
const {LOG_IN,REGISTER} = Types;
您可以在此处阅读更多相关信息。您在野外找到的其他代码可能看起来像您描述的那样工作,因为它实际上是这样定义其导出的:
module.exports = {
LOG_IN: 'LOG_IN'
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句