Я не читаю привязку собственности - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь создать файловый компонент в ReactJS.

Я делаю так:

import React from 'react';

export class InputTxt extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      file: null
    }

    this.onFormSubmit = this.onFormSubmit.bind(this)
    this.onChange = this.onChange.bind(this)
  }

  onChange(e) {
    this.setState({ 
      file: e.target.files[0] 
    })
  }

  render() {
    return (
      <form onSubmit={this.onFormSubmit}>
        <h1>File Upload</h1>
        <input type="file" onChange={this.onChange} />
        <button type="submit">Upload</button>
      </form>
    )
  }
}

Но я получаю:

Ошибка типа: не удается прочитать свойство 'bind' из неопределенного

В строке:

this.onFormSubmit = this.onFormSubmit.bind(this)

Почему я получаю эту ошибку?

1 Ответ

1 голос
/ 09 июля 2019

Вам не хватает метода onFormSubmit, это должно работать нормально.

import React from 'react';

export class InputTxt extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            file: null
        }
        this.onFormSubmit = this.onFormSubmit.bind(this)
        this.onChange = this.onChange.bind(this)
    }

    onChange(e) {
        this.setState({ file: e.target.files[0] })
    }

    onFormSubmit() {
      console.log("Form submitted")
    }

    render() {
        return (
            <form onSubmit={this.onFormSubmit}>
                <h1>File Upload</h1>
                <input type="file" onChange={this.onChange} />
                <button type="submit">Upload</button>
            </form>
        )
    }
}
...