我有以下useEffect
我想重構它,洗掉所有這些else if行
查看代碼
useEffect(() => {
if(country === "WW") {
setIsDisable(true);
} else if (country === "GB") {
setIsDisable(false);
} else if (country === "DE") {
setIsDisable(false);
} else if (country === "FR") {
setIsDisable(false);
} else if (country === "BR") {
setIsDisable(false);
} else if (country === "US") {
setIsDisable(false);
} else if (country === "IT") {
setIsDisable(false);
} else if (country === "US") {
setIsDisable(false);
} else if (country === "ES") {
setIsDisable(false);
} else if (country === "MX") {
setIsDisable(false);
}
}, [country]);
如您所見,國家:GB, DE, FR, BR, US, IT, US,ES和MX共享相同setIsDisable(false)
如果不重復相同的代碼,您將如何撰寫 1 行代碼else if?
uj5u.com熱心網友回復:
useEffect(() => {
setIsDisable(country === "WW");
}, [country]);
如果你想驗證
useEffect(() => {
if (country === "WW")
setIsDisable(true);
else if (["GB", "DE", "FR", "BR", "US", "IT", "ES", "MX"].includes(country))
setIsDisable(false);
}, [country]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/461626.html
