Могу ли я использовать оператор switch для управления моими формами в React? - PullRequest
2 голосов
/ 01 февраля 2020

Я научился создавать форму с помощью React, создав функцию-дескриптор для каждого элемента ввода

handleChangeName = (e: any) => {
    this.setState({
        name: e.target.value
    })
}

handleChangeSurname = (e: any) => {
    this.setState({
        surname: e.target.value
    })
}

Но я думаю, что мой код был бы более понятным, если бы я использовал только одну функцию с переключателем внутри, который обрабатывал каждый случай, подобный этому:

handleChange = (e: any) => {
      switch (e.target.id) {
        case 'name':
            this.setState({
                name: e.target.value
            })
            break;
        case 'surname':
            this.setState({
                surname: e.target.value
            })
            break;
      }
}

Это все еще хорошая практика для React? Есть ли недостатки, о которых я бы не подумал?

1 Ответ

2 голосов
/ 01 февраля 2020

Вам не нужен регистр переключения, вы можете использовать Property Accessor .

handleChange = (e: any) => {
        this.setState({
            [e.target.id]: e.target.value
        })
}
...