React项目中Post API请求体参数的条件化优化方案咨询
优化动态构建请求体的方案
可以用以下几种更简洁的方式替代原有if-else写法,避免重复代码:
方式一:ES6对象展开+条件属性
利用对象展开运算符和条件判断,直接在请求体对象中按需添加属性,无需拆分分支:
const body = { id, status, // 仅当locale不包含'all'时,才将其加入请求体 ...(!locale?.includes('all') && { locale }) }; return API.post({ body });
如果觉得逻辑判断需要更明确,也可以写成:
const body = { id, status, ...(locale?.includes('all') ? {} : { locale }) }; return API.post({ body });
方式二:基础对象+动态追加属性
先定义通用的基础请求体,再根据条件动态添加属性,逻辑更直白:
const body = { id, status }; if (!locale?.includes('all')) { body.locale = locale; } return API.post({ body });
这两种写法都能减少冗余代码,后续请求体参数扩展时也更容易维护。
内容的提问来源于stack exchange,提问作者Sangeetha
相关产品推荐
相关产品推荐

