【发布时间】:2021-06-15 22:30:09
【问题描述】:
我试图仅显示 TextInput 中的状态值,但这里似乎并非如此。 我有类似以下的内容
const component = () => {
const [input, updateInput] = useState('');
return (
<TextInput
value={input}
onChangeText={text => {
if (validate(text)) {
updateInput(text);
}
}}
/>
)
}
如果验证函数返回 false,则状态不会更新。但是在 TextInput 字段中输入的值仍然可见。我不确定这是否是预期的行为,但我希望 TextInput 仅显示状态值。
更新:
每个人都建议在验证失败时将 state 设置为 '' 或 initial。这在上面的示例中确实有效,因此感谢您!不幸的是,我正在处理的实际组件没有像我的示例那样将初始输入设置为空字符串 ('')。它在开始时使用未定义/空值。我尝试在 else 部分设置状态,但它在那里不起作用。
const component = () => {
const [input, updateInput] = useState();
return (
<TextInput
value={input}
onChangeText={text => {
if (validate(text)) {
updateInput(text);
} else updateInput(input); // This does not seem to work.
}}
/>
)
}
抱歉没有使用正确的示例。
【问题讨论】:
标签: reactjs react-native react-functional-component