当前位置: 首页 > 知识库问答 >
问题:

警告:失败的道具类型:为“图像”提供的道具“源”无效`

公冶经纶
2023-03-14

我有这个警告在我的项目:警告:失败的道具类型:无效的道具<代码>源代码提供给<代码>图像。我加载图像从sampleProducts.jsonRecommendend.js并通过它作为道具在Products.js,但图像不会加载,因为警告。

样本产品。json

"recommended": {
    "product1": {
        "id": "1",
        "image": "require('../images/sample1.png')",
        "name": "Sample Product",
    },

建议。js

{Object.values(recommended).map(product => (
                    <Products
                        key={ product.id }
                        productImage={ product.image }
                        productName={ product.name }
                    />
                ))}

产品。js

<Card style={ styles.card }>
                    <CardItem>
                        <Image style={ styles.productImage } source={ productImage} resizeMode='contain' />
                    </CardItem>
                    <CardItem>
                        <Body>
                            <Text style={ styles.productName }>{productName}</Text>
                        </Body>
                    </CardItem>
                </Card>

共有2个答案

夏烨霖
2023-03-14

您不能使用JSON格式的要求,并且要求不支持动态路径。

你能用开关大小写代替吗?

function getImage(img_name) {
  switch(img_name) {
    case "sample1.png": return require("../images/sample1.png");
    case "sample2.png": return require("../images/sample2.png");
  }
}

并将JSON更改为

"recommended": {
    "product1": {
        "id": "1",
        "image": "sample1.png",
        "name": "Sample Product",
    }
}

并与下面的组件一起使用

<Image source={getImage(productImage)} />

如果你不想使用开关案例,请检查其他方法的答案

何博涛
2023-03-14

摆脱recommended.product1.image上的要求(),并使其只是".../图像/sample1.jpg"

Image组件的源属性更改为source={require(`${recommended.product1.Image}')}

 类似资料:
  • 我尝试动态渲染图像。但我得到了这个错误。动态获取图像源并进行渲染的解决方案是什么? 主要组成部分。js 卡片详情。js 我也尝试过其他方法,但没有成功。我在使用此方法时遇到此错误: 未知命名模块 主要组成部分。js 卡片详情。js

  • 我试图展示一个简单的例子。通过将图像路径作为道具发送到要渲染它的组件,来创建jpg图像。以下面的方式。 应用程序。js 图像显示。js 图像lider.js 我的文件夹结构是: 理想情况下,当我通过本地存储的图像路径时,图像应该被显示,但是我没有看到任何图像显示,而是一条警告消息,上面写着:“失败的道具类型:无效的道具‘源’提供给‘转发参考(图像)’”

  • 我是个新来的本地人。我已经创建了一个屏幕。其中我添加了数字签名。当我拖动签名时,我将其图像保存为状态。然后我在屏幕上显示这个状态图像。但是我得到了如下错误=警告:失败的道具类型:无效的道具

  • 我得到这个错误: index.js:1375警告:失败的道具类型:提供给的道具无效。 我在我的应用程序中使用了一个外部组件,它是从github获得的,可以在后台渲染视频。这里是链接。https://github.com/samAbeywickrama/reactjs-videobg 它与proptypes有关,但由于它的遗留和react建议使用flo,所以我根本不使用类型检查。

  • https://gist.github.com/js08/dfeab2df8b68240297eb > 我正在尝试为jsx文件编写测试用例 在这方面,我能够通过proptypes 但不是在我顺利通过的地方 我在运行测试用例时出错 下面提供我的错误、测试用例和代码 警告:失败的道具类型:提供给的无效道具 我不知道该怎么做 发生在这次活动中 你能告诉我应该如何把它放在我的测试用例中吗 警告:失败的道具

  • 警告:失败的prop类型:提供给PadView的prop无效。 嗨,我是新来的react native,红色消息一直显示,但一切看起来都很好,应用程序呈现正确,但红色消息一直显示在终端上,你们知道这不是什么意思吗,谢谢你们的帮助。