反应导出常量
React export constants
我不明白为什么以下方法不起作用:
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';
也许有人有一些想法?
导出不是这样的。您可以尝试类似的操作:
import allConstants from '../constants';
然后使用常量luke:
allConstants.LOGIN_REQUEST
您的第一种方法称为 default export
。它不起作用,因为您使用的语法不正确。
从MDN export
entry开始,你就是这样写的default export
:
// module "my-module.js"
export default function cube(x) {
return x * x * x;
}
您的第二种方法称为 named export
,它之所以有效,是因为它具有正确的语法。再次来自 MDN:
export const foo = Math.sqrt(2); // exports a constant
希望对您有所帮助。
我不明白为什么以下方法不起作用:
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';
也许有人有一些想法?
导出不是这样的。您可以尝试类似的操作:
import allConstants from '../constants';
然后使用常量luke:
allConstants.LOGIN_REQUEST
您的第一种方法称为 default export
。它不起作用,因为您使用的语法不正确。
从MDN export
entry开始,你就是这样写的default export
:
// module "my-module.js"
export default function cube(x) {
return x * x * x;
}
您的第二种方法称为 named export
,它之所以有效,是因为它具有正确的语法。再次来自 MDN:
export const foo = Math.sqrt(2); // exports a constant
希望对您有所帮助。