未捕获的 TypeError:无法将类作为函数调用 React

Posted

技术标签:

【中文标题】未捕获的 TypeError:无法将类作为函数调用 React【英文标题】:Uncaught TypeError: Cannot call a class as a function React 【发布时间】:2018-10-21 01:19:13 【问题描述】:

GsranjifyQuickzLook.js

import React,  Component  from 'react';
import  connect  from 'react-redux';
import loopSkus from './stranify';

class GsranjifyQuickzLook extends Component 
    componentDidMount() 
        loopSkus(this.props.data)
    


const mapStateToProps = state => 
   const data = get(state, 'navigation.breadcrumbs');
   return  data ;
;

export default connect(mapStateToProps)(GsranjifyQuickzLook);

stranify.js

export const loopSkus = (productDataForSk) => 
  return productDataForSku.skus.map(sku => `
    "id": "$get(sku, 'id')",
    "title": "$get(productDataForSku, 'name')",
    "brand": "$get(productDataForSku, 'linkedData.brand', '')",
   `);
;

上面我正在尝试将 React 地图组件添加到我的项目中,但遇到了错误。到目前为止,上面是我的地图组件。

【问题讨论】:

您遇到什么样的错误?如果可以,请将其添加到您的问题中。 【参考方案1】:

你在GsranjifyQuickzLook.js中有import loopSkus from './stranify';

这就是default 导入语法。在./stranify 中,您将导出为命名导出。将export default loopSkus 添加到./stranify 或导入为import loopSkus from './stranify';

【讨论】:

【参考方案2】:

放————括号。导入时

import  loopSkus  from './stranify' .  ---not work

import  loopSkus  from './stranify' .  --- working

【讨论】:

以上是关于未捕获的 TypeError:无法将类作为函数调用 React的主要内容,如果未能解决你的问题,请参考以下文章

为啥使用默认的 React Google Maps 得到“TypeError:无法将类调用为函数”?

错误:未捕获 [TypeError:无法读取未定义 Jest 反应测试的属性“x”

IBM Worklight 5.0.x:未捕获的 TypeError:无法调用未定义的方法“init”

Angular 2 从 Jquery 调用 Typescript 函数会导致未捕获的 TypeError

socket.io 角度错误:未捕获的 TypeError:无法调用 null 的方法“onClose”

在与 API 调用关联的函数中:未捕获(承诺中)类型错误:无法读取未定义的属性“包含”