Redux异步action报ReferenceError: Invalid left-hand side in assignment如何修复
错误原因
你第4行的export default语法使用错误,混淆了函数命名、箭头函数声明和默认导出的规则,导致等号左侧的表达式不是合法的赋值目标,触发了ReferenceError: Invalid left-hand side in assignment报错。
修复方案
有两种常用的正确写法,按需选择即可:
- 方案1:先定义命名函数,再默认导出(适合当前文件内也需要调用
signin的场景)
import { AUTH } from '../actionTypes/actionTypes'; import * as api from '../api'; const signin = (formData, history) => async (dispatch) => { try { const { data } = await api.signIn(formData); dispatch({ type: AUTH, data }); history.push('/'); } catch (error) { console.log(error); } }; export default signin;
- 方案2:直接默认导出匿名箭头函数(适合仅对外暴露该函数、当前文件不需要额外调用的场景)
import { AUTH } from '../actionTypes/actionTypes'; import * as api from '../api'; export default (formData, history) => async (dispatch) => { try { const { data } = await api.signIn(formData); dispatch({ type: AUTH, data }); history.push('/'); } catch (error) { console.log(error); } };
内容的提问来源于stack exchange,提问作者Mohammed92
相关产品推荐
相关产品推荐

