验证要在 setState 中使用的变量
Validating variable to be used in 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 || '');
我有一个拆分日期输入(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 || '');