开发者问题收集

在 React Native 中使用构造函数创建对象

2020-04-16
894

我尝试使用传递 json 对象的构造函数创建一个 RN 对象,但收到“ReferenceError:找不到变量:Product”。

Product.js

export default class Product {
    constructor(product) {
        this.name = product.name
        this.items = product.Items
        this.price = product.Price
        this.productID = product.ProductID 
        this.medias = product.Medias
        this.imageSmall = BASE_IMAGES_URL + product.MediaSmall
        this.imageLarge = this.getImageLarge(product.Medias)
    }
}

PDP.js

import { Product } from '../models/Product'
class PDP extends Component {
 render() {

    var imagesProd = [];
    var product = new Product(this.props.navigation.state.params.currentProduct);
      ....
}
}

问题在于 new Product() 直接使用 this.props.navigation.state.params.currentProduct 工作正常。

编辑

根据你的提示,我将导入更改为 import Product from '../models/Product' ,但我收到

TypeError: TypeError: TypeError: TypeError: undefined is not a constructor (evaluating 'new P.default(s)')

2个回答

问题出在您的导入上。您在 Product 类中使用了默认导出,因此您的导入应该是

import Product from '../models/Product'
Mahdi N
2020-04-16

PDP.js 中的第一行应该是 import Product from '../models/Product'

请在此处查看有关导入的一些详细信息。 何时应使用花括号进行 ES6 导入?

Afik Menashe
2020-04-16