首页 > 解决方案 > Typescript 缺少类型(类似于 array.prototype probs)TS2769

问题描述

我正在尝试实现音乐播放器,并发现非常酷的带有 typescript 支持的库,它具有“index.d.ts”。这是图书馆https://github.com/lijinke666/react-music-player。问题是我被卡住了,无法使用最小参数运行最简单的示例。它看起来像“audiolist”,我给出了缺少的 array.prototype 类型,但我尝试以多种不同的方式定义数组,但它没有用。这是我使用的代码和我得到的错误。

import ReactJkMusicPlayer from 'react-jinke-music-player'
import 'react-jinke-music-player/assets/index.css'
const audioList2 = [
 {
  name: 'Bedtime Stories',
  singer: 'Jay Chou',
  cover:
   'http://res.cloudinary.com/alick/image/upload/v1502375978/bedtime_stories_bywggz.jpg',
  musicSrc:
   'http://res.cloudinary.com/alick/video/upload/v1502375674/Bedtime_Stories.mp3',
 },
 {
  name: 'Despacito',
  singer: 'Luis Fonsi',
  cover:
   'http://res.cloudinary.com/alick/image/upload/v1502689731/Despacito_uvolhp.jpg',
  musicSrc:
   'http://res.cloudinary.com/alick/video/upload/v1502689683/Luis_Fonsi_-_Despacito_ft._Daddy_Yankee_uyvqw9.mp3',
 },
]
//reduced this return for easier readibility
return (
<div>
 {type === 'musicPlayer' && <ReactJkMusicPlayer {... audioLists= audioList2} />}
</div>
);

我得到的错误:

错误:没有重载匹配此调用。

Overload 1 of 2, '(props: ReactJkMusicPlayerProps | Readonly): ReactJkMusicPlayer',给出了以下错误。类型“{长度:数字;”中缺少属性“audioLists” toString(): 字符串;toLocaleString(): 字符串;弹出():{名称:字符串;歌手:弦乐;封面:字符串;musicSrc:字符串;} | 不明确的; push(...items: { name: string; 歌手: string; 封面: string; musicSrc: string; }[]): number; ... 28 更多 ...; flat<A, D extends number = 1>(this: A, depth?: D | unde...' 但在“只读”类型中是必需的。

Overload 2 of 2, '(props: ReactJkMusicPlayerProps, context: any): ReactJkMusicPlayer',给出了以下错误。类型“{长度:数字;”中缺少属性“audioLists” toString(): 字符串;toLocaleString(): 字符串;弹出():{名称:字符串;歌手:弦乐;封面:字符串;musicSrc:字符串;} | 不明确的; push(...items: { name: string; 歌手: string; 封面: string; musicSrc: string; }[]): number; ... 28 更多 ...; flat<A, D extends number = 1>(this: A, depth?: D | unde...' 但在“只读”类型中是必需的。TS2769

调用 ReactJkMusicPlayer

音频列表

错误

标签: javascriptreactjstypescripttypescript-typings

解决方案


推荐阅读