“SomeName => {}”是什么意思?

时间:2018-06-04 13:42:49

标签: reactjs react-native

我是新来的。来自.Net背景,我试图创建一个类,我尝试了很多方法,但在这种情况下我无法在这个变体中创建一个构造函数并得出结论这可能不是一个班级,我在网上搜索但没有找到任何信息

以下是一个例子:

   export default ViewTestStuff => {

     constructor(){
       // errors
       }
        return (
            <div>
                <p>Hello</p>
            </div>
        )
    }

所以我的问题是这个例子中的“=&gt; {}”,这是一个类吗?如果它确实是一个类

,为什么我不能在其中创建一个构造函数

3 个答案:

答案 0 :(得分:1)

它是来自es6的箭头函数,与React.js

无关
const add = (a, b) => a+b;

这只是一个功能。

调用add(2, 3)会返回5

要记住的一件重要事情是,箭头函数没有原型链。您也无法使用new与他们通话。

另一件需要注意的事情是,this绑定到定义箭头函数的上下文。

const obj = {
    name: "Lukas",
    method: function() {
        var self = this;
        console.log(this.name === "Lukas");
        return [
          function() {
              console.log(this !== self)
          }, 
          () => {
              console.log(this === self)
          }
        ];
    }
}

const [func, arrow] = obj.method();

func();
arrow();

see the docs

答案 1 :(得分:1)

这是一个箭头功能! ES6上的一个很好的功能,已经在大多数现代浏览器上实现。

Something => {}表示具有Something作为参数和空体的函数。它类似于:

function (Something) {
}

在您的情况下,它与:

相同
export default function (ViewTestStuff) {

 constructor(){
   // errors
   }
    return (
        <div>
            <p>Hello</p>
        </div>
    )
}

它确实无效。

答案 2 :(得分:0)

这不是React的事情......箭头函数是es6 javascript中的新功能。更多信息可以在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

找到