React Native 无法写入 TextInput

React Native cannot write into TextInput

我正在创建一个应用程序,用户可以在其中输入一些文本。我想要用户在终端中输入的文本作为日志。

我的问题是,当我启动应用程序时,我无法在文本字段中写入任何内容。

App.js:

    import { useState } from 'react';
    import { Button, StyleSheet, Text, View, TextInput } from 'react-native';
    
    export default function App() {
    
      const [enteredKeyword, setEnteredKeyword] = useState('') /* Bind TextInput to the variables */
    
      
      const keywordInputHandler = (enteredText) => {
        setEnteredKeyword(enteredText)
      }
      const addKeywordHandler = () => {
        console.log(enteredKeyword)
      }
    
      return (
        <View style={styles.container}>
    
          { /* Header */ }
          <View style={styles.header}>
            <TextInput placeholder="Enter text" style={styles.textInput} onChangedText={keywordInputHandler} value={enteredKeyword} />
            <Button title="Add" onPress={addKeywordHandler} />
          </View>
    
        </View>
      );
    }
    
    const styles = StyleSheet.create({
      container: {
        flex: 1,
        backgroundColor: '#fff',
        alignItems: 'center',
        justifyContent: 'center',
      },
    
    
      header: {
        flexDirection: 'row',
        justifyContent: 'space-between',
        alignItems: 'center'
      },
      textInput: {
        width: '80%',
        borderColor: 'black',
        borderWidth: 1,
        padding: 10
      }
    });

请将onChangedText改为onChangeText

另请查看 TextInput 的指南:https://reactnative.dev/docs/textinput

onChangeText={(text)=> keywordInputHandler(text)}

要解决无法在 React 输入文本字段中键入内容的问题,我们应确保设置了输入的 valueonChangeText 属性。

<TextInput
    placeholder="Enter text" 
    style={styles.input}
    onChangeText={onChangeText}
    value={text}
/>