React.js中基于brightness_value通过Axios设置POST请求mode字段实现咨询
问题解答
这个需求完全可以实现,只需通过简单的条件判断动态设置mode.mode字段的值即可,具体操作如下:
修改后的React.js代码
const [brightness_value, setBrightnessValue] = useState(); const setSchedule = async(data) => { // 根据brightness_value动态确定mode类型 const modeType = brightness_value > 0 ? "turn_on" : "turn_off"; await axios.post('xxx.com', { time_start: "16:20", time_end: "16:21", mode: { mode: modeType, // 替换为动态计算的mode值 rgb_color: [255,255,255], brightness: brightness_value, } }, { headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${cookies.get('accesstoken')}` }, }) .then(result => { console.log('Scheduled!'); }) .catch(err => { console.log(err); console.log('Missed Schedule!'); }); }
补充说明
- 这里用三元运算符简化条件判断,逻辑清晰简洁:当
brightness_value > 0时设为"turn_on",否则设为"turn_off"。 - 若需要严格匹配
brightness_value === 0才触发turn_off,可调整条件为:const modeType = brightness_value === 0 ? "turn_off" : "turn_on"; - 建议给
useState设置初始值(比如useState(0)),避免brightness_value为undefined时导致逻辑异常。
内容的提问来源于stack exchange,提问作者user20271619
相关产品推荐
相关产品推荐

