【问题标题】:How to import my reducers to reducers.spec.js?如何将我的减速器导入 reducers.spec.js?
【发布时间】:2019-04-07 16:17:46
【问题描述】:

当我运行应用程序时 - 一切正常。但是当我运行测试时 - 它失败并出现错误

SyntaxError: Unexpected identifier ({"Object.":function(module,exports,require,__dirname,__filename,global,jest){import actions from '../LoginPage/actions'

我的 reducers.spec.js 文件:

import reducer from '../LoginPage/reducers';

const state = { user: [], isLoading: false };

describe('Login reducer', () => {
    it('should return initial state', () => {
        expect(reducer(undefined, {})).toEqual([
            {
                ...state,
                isLoading: false
            }]);
    });
    })
})

我的 reducers.js 文件:

const requestSignIn = 'REQUEST_SIGN_IN';
const receiveSignIn = 'RECEIVE_SIGN_IN';

const initialState = { user: [], isLoading: false};

export const reducer = (state, action) => {
    state = state || initialState;

    if (action.type === requestSignIn) {
        return {
            ...state,
            isLoading: true
        };
    }

    if (action.type === receiveSignIn) {
        return {
            ...state,
            user: action.user,
            isLoading: false
        };
    }

    return state;
};

我尝试导入什么并不重要。我认为完全导入不起作用。

【问题讨论】:

  • 您能否将 reducers.js 文件添加到您的问题中,以便我们查看问题所在?
  • 将 export const reducer 改为 export default function reducer

标签: javascript react-redux


【解决方案1】:

您有两种选择来解决此问题:

  • 您需要在reducers.js 中将export const reducer 更改为export default (state, action) =>

  • reducers.spec.js 中将import reducer from '../LoginPage/reducers'; 更改为import { reducer} from '../LoginPage/reducers';

有关更多信息,您可以在 MDN 网站上阅读有关 importexport 的更多信息。

【讨论】:

  • 我已经试过了。它不起作用。在第一种情况下:'从'../LoginPage/reducers'导入reducer; ^^^^^^^ SyntaxError: Unexpected identifier at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)' 在第二种情况下:'import { reducer } from '../LoginPage/reducers '; ^ SyntaxError: Unexpected token { at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)'
  • 你有 .babelrc 文件吗?
  • 不,我没有任何 .babelrc 文件
猜你喜欢
  • 2019-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-24
  • 2019-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多