【问题标题】:Expected an assignment or function call and instead saw an expression inside switch statment - React js期望一个赋值或函数调用,而是在 switch 语句中看到一个表达式 - React js
【发布时间】:2019-07-20 16:25:29
【问题描述】:

我有一个 reducer,它有 switch 语句,但是 switch 语句中的变量赋值通过了一个错误?

var answers, payload;
switch (action.type) {
  case ANSWER_FETCH_FAILED:
    return Object.assign({}, initialState, action.payload);
  case REMOVE_ANSWERS:
    // condition for removing the user answers  from answers

    /*line 42 */
    answers = Object.assign([], initialState.answers),

    payload = Object.assign({}, action.payload);
    // removing the deleted answer
    answers = answers.filter(ans => ans.authorId !== payload.authorId);
    // deleting the user id from payload
    delete payload.authorId;
    return Object.assign({}, initialState, { answers }, payload);
  case ANSWERED:
    /*line 50 */
    answers = Object.assign([], initialState.answers),

    payload = Object.assign({}, action.payload);
    return Object.assign({}, initialState, action.payload);
  default:
    return initialState;
}

这是反应中显示的错误

./src/reducers/postReducer.js

第 42 行:预期分配或 函数调用,而是看到一个表达式 no-unused-expressions

第 50 行:应为赋值或函数调用,但看到的是 表达式 no-unused-expressions

【问题讨论】:

  • 添加 {} 后也显示相同的错误
  • 只有当第一个赋值行有varletconst 时(当你正在初始化new 时,才使用,变量),否则使用;

标签: javascript reactjs react-redux switch-statement


【解决方案1】:

将第 42 行和第 50 行末尾的逗号 , 替换为分号 ;

来自

answers = Object.assign([], initialState.answers),

answers = Object.assign([], initialState.answers);

【讨论】:

  • @Janaravi - 不客气!请接受答案以关闭问题。谢谢!
  • 只需点击答案旁边赞成/反对票下方的复选标记 (✓)。
猜你喜欢
  • 2021-04-12
  • 2020-02-12
  • 2019-10-15
  • 1970-01-01
  • 2020-11-16
  • 2022-01-14
  • 2020-02-01
  • 2017-09-09
相关资源
最近更新 更多