javascript - 输入明文时出现错误“文本字符串必须在文本中呈现...”
问题描述
我有简单的文本输入来输入电话: 问题:每当我从文本输入中删除所有字符时,它都会中断并告诉我“文本字符串必须在组件中呈现。
有人猜猜为什么吗?
const PhoneEnter = ({ phoneNumber }) => {
const { state } = useContext(AuthContext);
return (
<KeyboardAvoidingView style={styles.container} behavior={Platform.OS == "ios" ? "padding" :
"height"}>
<Text style={styles.title}>המספר ששמור במערכת הינו:</Text>
<TextInput
defaultValue={state.phone}
autoFocus={true}
keyboardType="numeric"
selectionColor="white"
color="white"
placeholderTextColor="rgba(255,255,255,0.7)"
style={styles.textInput}
onChangeText={value => phoneNumber(value)}
/>
</KeyboardAvoidingView>
);
};
- 请注意,如果我删除 defaultValue={state.phone}
- 当我删除 onChangeText 道具时不会崩溃。所以问题就在那里
电话号码功能来自父组件:
<PhoneEnter phoneNumber={value => setPhone(value)} />}
他有一个状态:
const [phone, setPhone] = useState(false);
解决方案
推荐阅读
- python - 像 Python 枚举一样使用 QEnum
- visual-studio-code - 如何在 Visual Studio 代码中同时格式化所有文件?
- react-native - React Native:如何以编程方式全屏播放 webview 视频?
- node.js - 当服务在代理后面时,如何使用证书从 Azure Active Directory 获取访问令牌
- javascript - 从节点进程获取当前 URL?
- angular - 来自浏览器的 Ecs-pos 热敏打印
- node.js - 无法从关闭中返回/获得响应
- assembly - AVR 定时器中断
- android - 在android中隐藏视图一段时间
- java - 如何将 JSON 消息的一部分解析为 String 并将其传递给另一个类?