我正在写反应应用程序,我有动作文件的dir我的示例动作文件看起来像
export const USER_LOADING_START = 'USER_LOADING_START';
export const USER_LOADED = 'USER_LOADED';
export function userLoadingStart() {
return {
type: USER_LOADING_START
};
}
export function userDataLoaded(value) {
return {
type: USER_LOADED,
payload: {
value: value
}
};
}
并且在动作目录中,我有一个名为index.js的文件,其内容为
import * as userActions from './userActions';
let exp = {
...userActions,
};
export default exp;
所以在其他文件中我想导入我的动作创建者,所以我使用:
import {userLoadingStart} from './actions';
它不起作用,但如果我写:
import actions from '../actions';
const { userLoadingStart } = actions;
然后它正常工作,所以我做错了什么?
我试过
export {
...userActions,
...spinnerActions,
...errorActions
}
和
export exp
但它不能通过webpack编译
答案 0 :(得分:2)
所以在其他文件中我想导入我的动作创建者,所以我使用:
import {userLoadingStart} from './actions';
要使其工作,这意味着./actions
必须导出命名值。问题是您的逻辑当前捆绑所有内容并将其导出为名为default
的单个命名导出。最简单的方法是为你的索引做
export * from './userActions';
基本上将所有内容从./userActions
传递到./actions
的导出。