Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React Native:文本输入在绑定到状态时一次添加(追加)多个字母_Javascript_React Native - Fatal编程技术网

Javascript React Native:文本输入在绑定到状态时一次添加(追加)多个字母

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

我试图将TextInput绑定到state,但将其转换为全大写

代码如下

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()