首页 > 解决方案 > 如果代码进入 if 时钟而不是 else 块,则内部错误条件后的事件

问题描述

我有 if else 条件,其中有 3 个检查都返回 false 仍然代码在 if 块内,而是应该转到 else,因为所有检查都失败了。

如果我测试类似的东西,if(false || false || false)那么这工作正常,但我的代码没有像它应该的那样工作。

state = { year : 2019, sortby : '', genres : [] }
nextState = { year : 2019, sortby : '', genres : [] };

console.log(state.year !== nextState.year);
console.log(state.sortby !== nextState.sortby);
console.log(!_.isEqual(state.genres.sort(), nextState.genres.sort()))

if(state.year !== nextState.year ||
   state.sortby !== nextState.sortBy ||
   !_.isEqual(state.genres.sort(), nextState.genres.sort())
){
  console.log("Inside if");
}else{
  console.log("Inside else");  
}

标签: javascriptreactjsecmascript-6

解决方案


因为你写state.sortby !== nextState.sortBy而不是state.sortby !== nextState.sortby

然后它应该工作。


推荐阅读