Javascript 反应本机:iOS听写无法清除文本输入

Javascript 反应本机:iOS听写无法清除文本输入,javascript,ios,react-native,Javascript,Ios,React Native,我在React原生应用程序中有一个非常基本的TextInput+按钮组合,用于编写和发送消息,如下所示: <TextInput type="text" ref={input => { this.inputRef = input; }} style={styles.userInput} name="userInput" autoCorrect={false} placeholder="Type something..

我在React原生应用程序中有一个非常基本的TextInput+按钮组合,用于编写和发送消息,如下所示:

<TextInput
    type="text"
    ref={input => {
       this.inputRef = input;
    }}
    style={styles.userInput}
    name="userInput"
    autoCorrect={false}
    placeholder="Type something..."
    autoFocus={false}
    autoComplete="off"
    onChangeText={this.watchInput}
    returnKeyType="done"
/>

<Button
    disabled={!this.state.isValidInput}
    style={styles.sendButton}
    title="Send"
    textStyle={{fontSize: 12}}
    onPress={this.handleSubmit}
    accessibilityLabel="Press this button to send your message"
/>
当使用实际按钮进行发送时,这很好,但是如果我使用iOS键盘中的听写,它会在我结束讲话时发送消息,但输入字段没有清除,因此我在处理程序已发送的字段中保留相同的输入

你知道为什么听写会像这样工作,以及如何让听写在发送时清除输入字段吗


React原生版本0.57.8

您是否在文本输入中绑定了值


尝试在文本输入中绑定输入,如value={this.state.input}

是否在文本输入中绑定了值

尝试在文本输入中绑定输入,如value={this.state.input}

handleSubmit = async () => {
   const message = this.state.input; // get input from state

   Keyboard.dismiss() // hide keyboard
   this.inputRef.clear(); // clear TextInput
   this.setState({ input: '' }); // reset input state
   this.setState({ isValidInput: false }); // reset input state
   this.stretchInputField()
   var r = await this.props.myAwesomeSendMessageFunction() // send message
 }