Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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 类方法可以在ES 6或ES 7中声明为引用吗?_Javascript_Reactjs_Ecmascript 6_Ecmascript 2016_Ecmascript Next - Fatal编程技术网

Javascript 类方法可以在ES 6或ES 7中声明为引用吗?

Javascript 类方法可以在ES 6或ES 7中声明为引用吗?,javascript,reactjs,ecmascript-6,ecmascript-2016,ecmascript-next,Javascript,Reactjs,Ecmascript 6,Ecmascript 2016,Ecmascript Next,我正试图从react redux universal hot示例中领会(天哪,看看我们走了多远!) 无论如何 他们为一个类声明了两个静态方法作为对两个函数参数的引用 export default function connectData(fetchData, fetchDataDeferred) { return function wrapWithFetchData(WrappedComponent) { class ConnectData extends Component {

我正试图从
react redux universal hot示例中领会(天哪,看看我们走了多远!)

无论如何

他们为一个类声明了两个静态方法作为对两个函数参数的引用

export default function connectData(fetchData, fetchDataDeferred) {
  return function wrapWithFetchData(WrappedComponent) {
    class ConnectData extends Component {

      static fetchData = fetchData;
      static fetchDataDeferred = fetchDataDeferred;

      render() {
        return <WrappedComponent {...this.props} />;
      }
    }

    return ConnectData;
  };
}
导出默认函数connectData(fetchData,fetchDataDeferred){
返回函数wrapWithFetchData(WrappedComponent){
类ConnectData扩展组件{
静态fetchData=fetchData;
静态fetchDataDeferred=fetchDataDeferred;
render(){
返回;
}
}
返回数据;
};
}

重点是。。这很有效。。。但是ES6或ES7支持它吗?能否实现类成员作为对作为参数接收的内容的引用?

为什么不?从本质上讲,他们返回的是:

return {
  fetchData         : fetchData,
  fetchDataDeferred : fetchDataDeferred,
  render            : function()  {...},
  __proto__         : Component 
};

不完全是,但从概念上讲,它已经足够接近了

根据,它不是有效的ES6,并且在以下情况下失败:


…但是是的,这大概就是babel插件实现的功能

是的,ES6和ES7不会改变函数的工作方式,因此它们仍然是对象,而对象是引用。属性可以包含任意值。这并没有改变。ES6或ES7在哪里实际实现?
const method = () => {};
class Example { static _method = method; }
//=> Unexpected token (2:31)