Присвойте одинаковые значения нескольким свойствам класса - PullRequest
1 голос
/ 12 марта 2020

У меня есть класс React:

export default class FormField extends Component {
  state = {};

  labelRef = React.createRef();
  childRef = React.createRef();
  fieldControlRef = React.createRef();
  ...
}

Мне не нравится, что у меня есть три строки, присваивающие одно и то же значение отдельным свойствам. Есть ли способ в одной строке, который будет работать внутри класса?

1 Ответ

2 голосов
/ 12 марта 2020

Прежде всего, вы должны убедиться, , что вам нужны сами ссылки .

Кроме этого, вам не нужны ссылки для назначения имен классов, просто желайте className в состоянии вашего компонента, например:

state = {
   className: 'someClassName'
}

Затем просто примените это при рендеринге:

...
render(){
   <div className={this.state.className}>...
}
...

Это позволит вам динамически изменять className в вашем состоянии (например, в ответ на некоторые взаимодействия с пользователем) и соответствующим образом перерисовать соответствующие элементы.

...