Switch 总是命中 Default Case JS
Switch always hits Default Case JS
我有一个非常简单的开关块,我有一组非常严格的选项可以放入其中。开关块如下...
const handleOption = (option) => {
setSortBy(option)
switch (option){
case("DAR"):
setTitle('Delivered and Recieved')
case('DCR'):
setTitle('Delivery Completion Rate')
case('POD'):
setTitle('Photo on Delivery Rate')
case('CC'):
setTitle('Call Compliance')
case('SC'):
setTitle('Scan Compliance')
case('FICO'):
setTitle('FICO')
case('cdf'):
setTitle('Customer Feedback')
default:
console.log(option)
setTitle(option)
}
setTitle(option)
}
如您所见,我在默认情况下有一个 console.log 语句。每当有任何东西进入这个函数表达式时,它都会达到默认值并被记录下来。到目前为止,我已经记录了所有可能的案例选项,因为每一个都达到了默认值。意思是,'DAR'
、'DCR'
、'POD'
,其余所有。我当然不是 Switch 机箱的专家,我很少使用它们,但这主要是因为这个确切的问题总是会发生,我不知道为什么也不知道在哪里可以找到答案
每个 case
完成后,您需要一个 break
语句。
const handleOption = (option) => {
setSortBy(option)
switch (option) {
case ("DAR"):
setTitle('Delivered and Recieved');
break;
case ('DCR'):
setTitle('Delivery Completion Rate');
break;
case ('POD'):
setTitle('Photo on Delivery Rate');
break;
case ('CC'):
setTitle('Call Compliance');
break;
case ('SC'):
setTitle('Scan Compliance');
break;
case ('FICO'):
setTitle('FICO');
break;
case ('cdf'):
setTitle('Customer Feedback');
break;
default:
console.log(option)
setTitle(option)
}
setTitle(option)
}
您可以构建一个小字典对象,然后使用键引用值,而不是使用 switch
。它不那么笨重。
const obj = {
DAR: 'Delivered and Recieved',
DCR: 'Delivery Completion Rate'
};
function setTitle(data) {
console.log(data);
}
function handleOption(option) {
setTitle(obj[option]);
}
handleOption('DAR');
handleOption('DCR');
我有一个非常简单的开关块,我有一组非常严格的选项可以放入其中。开关块如下...
const handleOption = (option) => {
setSortBy(option)
switch (option){
case("DAR"):
setTitle('Delivered and Recieved')
case('DCR'):
setTitle('Delivery Completion Rate')
case('POD'):
setTitle('Photo on Delivery Rate')
case('CC'):
setTitle('Call Compliance')
case('SC'):
setTitle('Scan Compliance')
case('FICO'):
setTitle('FICO')
case('cdf'):
setTitle('Customer Feedback')
default:
console.log(option)
setTitle(option)
}
setTitle(option)
}
如您所见,我在默认情况下有一个 console.log 语句。每当有任何东西进入这个函数表达式时,它都会达到默认值并被记录下来。到目前为止,我已经记录了所有可能的案例选项,因为每一个都达到了默认值。意思是,'DAR'
、'DCR'
、'POD'
,其余所有。我当然不是 Switch 机箱的专家,我很少使用它们,但这主要是因为这个确切的问题总是会发生,我不知道为什么也不知道在哪里可以找到答案
每个 case
完成后,您需要一个 break
语句。
const handleOption = (option) => {
setSortBy(option)
switch (option) {
case ("DAR"):
setTitle('Delivered and Recieved');
break;
case ('DCR'):
setTitle('Delivery Completion Rate');
break;
case ('POD'):
setTitle('Photo on Delivery Rate');
break;
case ('CC'):
setTitle('Call Compliance');
break;
case ('SC'):
setTitle('Scan Compliance');
break;
case ('FICO'):
setTitle('FICO');
break;
case ('cdf'):
setTitle('Customer Feedback');
break;
default:
console.log(option)
setTitle(option)
}
setTitle(option)
}
您可以构建一个小字典对象,然后使用键引用值,而不是使用 switch
。它不那么笨重。
const obj = {
DAR: 'Delivered and Recieved',
DCR: 'Delivery Completion Rate'
};
function setTitle(data) {
console.log(data);
}
function handleOption(option) {
setTitle(obj[option]);
}
handleOption('DAR');
handleOption('DCR');