Javascript 如何重构react中嵌套的三元运算符
我在重构遗留react代码时遇到了包含嵌套三元运算符的代码:Javascript 如何重构react中嵌套的三元运算符,javascript,reactjs,Javascript,Reactjs,我在重构遗留react代码时遇到了包含嵌套三元运算符的代码: const categoriesList = getCategoryById(store, params[param]) ? getSubcategoriesToDisplay(store, params[param]).length > 0 ? [ getCategoryById(store, params[param]), ...ge
const categoriesList = getCategoryById(store, params[param])
? getSubcategoriesToDisplay(store, params[param]).length > 0
? [
getCategoryById(store, params[param]),
...getSubcategoriesToDisplay(store, params[param]),
]
: [getCategoryById(store, params[param])]
: getCategoriesForOfferPage(store);
问题是有没有一种方法可以通过重构使其更具可读性。“有没有一种方法可以通过重构使其更具可读性”-是的,有。你已经自己试过了吗?你的转换有问题吗?错误?还有别的吗@DrewReese,我尝试使用if语句而不是三元语句,但代码似乎仍然不可读。请分享您尝试过的内容。如果您的代码有效,您可能希望尝试在
let result;
const getCategoryResults = getCategoryById(store, params[param]);
const getSubCategoryResults = getSubcategoriesToDisplay(store, params[param]);
if(getCategoryResults){
result = getSubCategoryResults.length ? [...getCategoryResults, ...getSubCategoryResults] : [...getCategoryResults];
} else {
result = getCategoriesForOfferPage(store);
}