Javascript React Native:文本输入在绑定到状态时一次添加(追加)多个字母
我试图将TextInput绑定到state,但将其转换为全大写 代码如下Javascript React Native:文本输入在绑定到状态时一次添加(追加)多个字母,javascript,react-native,Javascript,React Native,我试图将TextInput绑定到state,但将其转换为全大写 代码如下 export default function JoinGameScreen(props) { const [code, setCode] = useState(""); <-- for brevity --> return ( <> <SafeAreaView style={styles.contain
export default function JoinGameScreen(props) {
const [code, setCode] = useState("");
<-- for brevity -->
return (
<>
<SafeAreaView style={styles.container}>
<-- for brevity -->
<View style={styles.textInputView}>
<Text style={styles.codeText}>Kode:</Text>
<TextInput value={code} onChangeText={(text) => setCode(text.toUpperCase())} style={styles.textInput}></TextInput>
</View>
<-- for brevity -->
</SafeAreaView>
</>
);
}
导出默认功能屏幕(道具){
const[code,setCode]=useState(“”);
返回(
科德:
setCode(text.toUpperCase())}style={styles.textInput}>
);
}
问题是,当我开始在textInput中输入前两个字母后,onChange中的整个“文本”都会以某种方式追加,我真的不明白为什么。应该是非常简单的代码遵循。有人能发现错误吗
编辑:在没有toUpperCase()的情况下可以正常工作。有什么办法可以避免这种情况吗?是虫子吗
编辑2:
使用黑客软件修复了它:
键盘类型={Platform.OS=='ios'?'default':'visible password'}
-文本字段中的prop
或:
利用
autoCapitalize=“字符”
-prop而不是.toUpperCase()