Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将相同的值漂亮地分配给多个类属性_Javascript_Reactjs_Class - Fatal编程技术网

Javascript 将相同的值漂亮地分配给多个类属性

Javascript 将相同的值漂亮地分配给多个类属性,javascript,reactjs,class,Javascript,Reactjs,Class,我有一节课: export default class FormField extends Component { state = {}; labelRef = React.createRef(); childRef = React.createRef(); fieldControlRef = React.createRef(); ... } 我不喜欢有三行将相同的值分配给不同的属性。有没有一种方法可以在一个类中使用一行代码?首先,你必须确保自己是正确的 除此之外,您不需

我有一节课:

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

  labelRef = React.createRef();
  childRef = React.createRef();
  fieldControlRef = React.createRef();
  ...
}
我不喜欢有三行将相同的值分配给不同的属性。有没有一种方法可以在一个类中使用一行代码?

首先,你必须确保自己是正确的

除此之外,您不需要REF来指定任何类名,只需在组件的状态中设置所需的
className
,如:

state = {
   className: 'someClassName'
}
然后在渲染时应用该选项:

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

这将允许您在您的状态中动态地修改
类名
(例如,响应某些用户交互),并相应地重新呈现相应的元素。

如果REF的唯一目的是动态地分配
类名
,您当然需要去掉它们,实际上,参考文献认为最佳选择的场景范围非常有限。修改DOM通常是不常见的反应,你应该考虑使用传统的反应工具(即状态变量)来解决这样的问题。仔细看看细节。你是对的——结果我一开始并没有。