как сделать React сброс для компонента обновления - PullRequest
0 голосов
/ 18 сентября 2018

Я хотел бы сделать сброс, чтобы обновить состояние моего ввода.Я тестировал онлайн 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>

    )
}
}

1 Ответ

0 голосов
/ 18 сентября 2018

Проблема в том, что ваш <Form> не является элементом формы HTML, а компонентом формы реакционной ленты и поэтому не имеет метода .reset().

Reactstrapпозволяет установить опору innerRef для доступа к фактическому элементу DOM:

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