簡體   English   中英

如何為刷新組件執行 React 重置

[英]how to do React reset for refresh component

我想重置以刷新我的輸入狀態。 我在線測試了 13 這個: this.messageForm.reset()但是我得到的錯誤不是函數

import React, {Component} from 'react'
import {Form, Button} from 'reactstrap'


export default class Formulaire extends Component {

createMessage = event => {
    event.preventDefault()
    console.log(this.message.value)
    const message = this.message.value
    this.props.addMessage(message)
    //reset
    this.messageForm.reset()
}
render() {
    return (
        <div>
            <Form 
                className='form' 
                onSubmit={event =>this.createMessage(event)}
                ref={input => this.messageForm = input}
                >
                <textarea 
                    required 
                    maxLength='140'
                    ref={input => this.message = input}
                >

                </textarea>
                <Button type="submit"> Envoyer! </Button>
            </Form>
        </div>

    )
}
}

問題是您的<Form>不是 HTML 表單元素,而是reactstrap Form 組件,因此它沒有.reset()方法。

Reactstrap 允許設置innerRef來訪問實際的 DOM 元素:

<Form 
  className='form' 
  onSubmit={event =>this.createMessage(event)}
  innerRef={input => this.messageForm = input}
>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM