Реакция: передача значения состояния в качестве параметра методу - PullRequest
0 голосов
/ 06 марта 2019

Я хочу сделать мой класс более пригодным для повторного использования.У меня есть огромная форма для обработки, и я не хочу писать один метод для каждого ввода.Как передать значение состояния в качестве параметра методу?

Я пытался:

  state = {
    subtitle: ""
  };


  inputHandler = (e, param) => this.setState({ [param]: e.target.value });

  render() {
    return (
      <>
        {this.state.title}
        <input
          type="text"
          value={this.state.subtitle}
          onChange={e => this.inputHandler(this.state.subtitle)}
        />
      </>
    );
  } 

и различные подобные комбинации этого решения.

Демонстрация: https://codesandbox.io/s/kw6pnxwv0v

1 Ответ

2 голосов
/ 06 марта 2019
import React from "react";
import ReactDOM from "react-dom";

import "./styles.css";

class App extends React.Component {
  state = {
    subtitle: ""
  };

  onChange = (e) => {
    const target = e.target;
    const value = target.value;
    const name = target.name;

     this.setState({
       [name]: value
     });
  }

  render() {
    return (
      <>
        {this.state.title}
        <input
          type="text"
          name="subtitle"
          value={this.state.subtitle}
          onChange={this.onChange}
        />
        {this.state.subtitle}
      </>
    );
  }
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

Дайте мне знать, если это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...