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

无论类型是否正确,都会出错

陈正业
2023-03-14

我正在使用React和PropTypes和hook

"prop-类型":"^15.7.2",

"反应":"^16.11.0",

我有一个组件,它接收一个带有数据库中一些数据的对象。然后,测试数据:

{ console.log('Carousel reciving: ', typeof informations, informations) }

提供以下控制台日志:

Carousel reciving:  object (12) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]

数据通过调用发送到组件:

<Carousel informations={informations} isLoading={isLoading} />

和组件:

const Carousel = ({ informations, isLoading }) => (
    <ReactPlaceholder ...some props />...some content</ReactPlaceholder>
) // Carousel

但无论我将PropType更改为array或object,它仍然会出现以下错误:

警告:失败的道具类型:提供给Carousel数组类型的无效道具信息,应为对象

如果我更改为PropType.object.is必需,则错误表示所提供的值类型为数组。如果我更改为PropType.array.is必需,则错误表示所提供的值是对象类型:

Carousel.propTypes = {
    informations: PropTypes.object.isRequired,
    isLoading: PropTypes.bool.isRequired,
} // propTypes

我知道我可以在组件内部使用fetch函数,但是这些数据与其他组件共享。


共有1个答案

雍河
2023-03-14

从您的console.log信息实际上是一个对象数组;它记录为[{...},{...},注意开头的[

因此,您想将propTypes更改为

Carousel.propTypes = {
    informations: PropTypes.arrayOf(PropTypes.object).isRequired,
    isLoading: PropTypes.bool.isRequired,
} 
 类似资料:
  • 假设我有一个模板函数,处理指向未知类型的指针。现在,如果type恰好是64位平台上的,那么它必须是8字节对齐的,但是如果恰好是,它必须是1字节对齐的,如果恰好是一个类,那么它的对齐要求将取决于它的成员变量。 这一切都可以在纸上计算,但是如何让编译器产生给定类型的对齐要求? 有没有办法在编译时找到给定类型的对齐要求?

  • 下面提供了一个POJO,

  • 问题内容: 如果是这样,为什么呢?我的意思是,tinyint的搜索比int更快吗? 如果是这样,那么实际的性能差异是什么? 问题答案: 是的,根据数据类型,确实会有所不同。 vs.不会在速度上产生明显的差异,但是会在数据大小上产生差异。假设是1个字节,而不是4个字节,则每行保存3个字节。一段时间后加起来。 现在,如果它反对,那么将会有些下降,因为整数值之类的排序操作比字符串值要快得多。 如果它是可

  • 图像显示了仓库的物流。非常非常简单。它的概念是什么:有单据:< code > receiving lubril ,< code > dispatchinglirl ,< code>ReplacementOrder。 它们与主要类交互:、和。 以及< code>Register类:< code > ItemRemainsInWarehouse 。原来,文件是操作、接收、发送等的确认。< code>R

  • 这节介绍TypeScript里的类型推论。即,类型是在哪里如何被推断的。 TypeScript里,在有些没有明确指出类型的地方,类型推论会帮助提供类型。如下面的例子 let x = 3; 变量x的类型被推断为数字。 这种推断发生在初始化变量和成员,设置默认参数值和决定函数返回值时。 大多数情况下,类型推论是直截了当地。 后面的小节,我们会浏览类型推论时的细微差别。 当需要从几个表达式中推断类型时候