Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Reactjs 是否可以在类内部和方法外部声明变量 类计数器扩展React.Component{ 变量a=‘bla-bla’; render(){ 返回( {a} ) } }_Reactjs_React Redux - Fatal编程技术网

Reactjs 是否可以在类内部和方法外部声明变量 类计数器扩展React.Component{ 变量a=‘bla-bla’; render(){ 返回( {a} ) } }

Reactjs 是否可以在类内部和方法外部声明变量 类计数器扩展React.Component{ 变量a=‘bla-bla’; render(){ 返回( {a} ) } },reactjs,react-redux,Reactjs,React Redux,1) 我在课堂上描述了一个变量 2) 我得到了一个错误,我知道我必须在render方法内部声明,但我想知道为什么我们不应该在render外部和类内部声明 class Counter extends React.Component { var a = 'bla bla'; render(){ return ( <h1>{a}</h1> ) } } 类计数器扩展React.Component{ 变量a=‘bla-bla’; re

1) 我在课堂上描述了一个变量

2) 我得到了一个错误,我知道我必须在render方法内部声明,但我想知道为什么我们不应该在render外部和类内部声明

class Counter extends React.Component {
    var a = 'bla bla';
    render(){ 
    return (
     <h1>{a}</h1>
    )

}
}
类计数器扩展React.Component{
变量a=‘bla-bla’;
render(){
返回(
{this.a}
)
}
}
我也用过这个,但我还是出错了

class Counter extends React.Component {
        var a = 'bla bla';
        render(){ 
        return (
         <h1>{this.a}</h1>
        )

    }
    }
类计数器扩展React.Component{
render(){
变量a=‘bla-bla’;
返回(
{a}
)
}
}

下面的代码解决了我的问题,但我想知道为什么我在上一步出错

变量是在某个范围内定义的。整个类没有作用域。一旦ES6课程被使用,很好地理解它们的工作原理是有益的

class Counter extends React.Component {

    render(){ 
        var a = 'bla bla';
    return (
     <h1>{a}</h1>
    )

}
}
语法上的糖是什么

class Counter {
  constructor() {...}
  render() {...}
}
没有任何地方可以在每个类实例化上定义变量,并且在构造函数和
render
方法中都可用

这可能是类字段的用例,它们是:


关于类变量状态的一个很好的解释。
function Counter() {
  // constructor
}
Counter.prototype.render = function () {...}
class Counter extends React.Component {
    a = 'bla bla';

    render(){ 
      return (
       <h1>{this.a}</h1>
      )
    }
}
const a = 'bla bla';

class Counter extends React.Component {
    render(){ 
      return (
       <h1>{a}</h1>
      )
    }
}