在setState中使用的验证变量



我有一个分割日期输入(DD/MM/YYYY有3个不同的输入)-我一直有一些控制台问题,其中"组件正在将未控制的输入更改为受控的输入-可能是由值从未定义更改为已定义"引起的。

基本上我想做的是确保如果dateInputValue的字符串值存在(以这种格式:"28-08-2022"),那么我们将其拆分并预填充字段(这是工作)。

然而,我想让我的代码更健壮,通过添加一个检查,如果一个字符串值不存在于dateInputValue,它只是一个空字符串,这3个输入是由3个空字符串(")填充。

谁能建议一个适当的改变来实现这一点?
const [intialDay, initialMonth, initialYear] = dateInputValue.split("-");
const [day, setDay] = useState(intialDay);
const [month, setMonth] = useState(initialMonth);
const [year, setYear] = useState(initialYear);

您可以检查是否未定义,设置空字符串:

const [day, setDay] = useState(intialDay || '');
const [month, setMonth] = useState(initialMonth || '');
const [year, setYear] = useState(initialYear || '');

最新更新