【发布时间】:2019-07-17 08:47:23
【问题描述】:
在学习 React 时,我开始创建一个相当简单的项目。 TFL(伦敦交通)的旅程规划器。该应用程序获取一些参数,例如 From、To 和 mode(Tube、Bus、Overground),并向 TFL API 发送 API 请求。
模式数据由 tube、bus 和 overground 3 个复选框组合在一起。它应该作为字符串发送,每个单词之间用逗号分隔。像地铁、公共汽车、地上或只有公共汽车、地上等的东西。
这是我处理复选框值的方式:
// Handling checkboxes
const tubeVal = e.target.elements.tube.checked === true ? "tube" : "";
const busVal = e.target.elements.bus.checked === true ? "bus" : "";
const overgroundVal = e.target.elements.overground.checked === true ? "overground" : "";
let mode = "";
if (tubeVal && !busVal && !overgroundVal) {
mode = tubeVal;
}
if (!tubeVal && busVal && !overgroundVal) {
mode = busVal;
}
if (!tubeVal && !busVal && overgroundVal) {
mode = overgroundVal;
}
if (tubeVal && busVal && !overgroundVal) {
mode = tubeVal + "," + busVal;
}
if (tubeVal && !busVal && overgroundVal) {
mode = tubeVal + "," + overgroundVal;
}
if (!tubeVal && busVal && overgroundVal) {
mode = busVal + "," + overgroundVal;
}
if (tubeVal && busVal && overgroundVal) {
mode = tubeVal + "," + busVal + "," + overgroundVal;
}
这是在 React 中处理复选框数据的正确方法吗?我觉得不太合适。
【问题讨论】: