我不明白为什么下面的方法不起作用:
constants.js
import { createConstants } from '../utils';
export default createConstants(
'LOGIN_REQUEST',
'LOGIN_SUCCESS',
'LOGIN_FAILURE',
'LOGOUT',
'FETCH_DATA_REQUEST',
'RECEIVE_DATA'
);
utils.js
import React from 'react';
export function createConstants(...constants) {
return constants.reduce((acc, constant) => {
acc[constant] = constant;
return acc;
}, {});
}
接下来我想导入LOGIN_REQUEST,例如作为一个redux操作。
import { LOGIN_REQUEST, LOGIN_SUCCESS, LOGIN_FAILURE, LOGOUT } from '../constants';
但是我每次都为所有导入的常量得到undefined
。只有当我这样定义时才有效:
export const LOGIN_REQUEST = 'LOGIN_REQUEST';
也许有人有一些想法。
2条答案
按热度按时间hvvq6cgz1#
第一种方法称为
default export
。它不起作用,因为您使用的语法不正确。从MDN
export
entry开始,这就是如何编写default export
:您的第二种方法称为
named export
,它之所以有效,是因为它具有正确的语法。来自MDN:希望能帮上忙。
4ioopgfo2#
出口不是这样的。您可以尝试以下操作:
然后使用一个常量,如: