TS2741 Свойство '0' отсутствует в типе '{label: string; } Javascript

Привет, я пишу код с использованием JS и TS. Я сделал этот интерфейс:

> interface IPLTableProps {
>     Conf: [{ key: string, val: any }],
>     Values?: [string],
>     children?: ReactNode // TODO prendere children da React }

Я определил этот интерфейс для создания общего компонента. Когда я пытаюсь использовать этот компонент в другом файле, я невольно вызываю его как общий компонент. Но тут возникает ошибка. Общий компонент называется PLTable.

 <PLTable Conf={CONF}/>

CONF - это массив, и когда я пытаюсь запустить его, я получаю эту ошибку.

TS2741: свойство '0' отсутствует в типе '{label: string; } [] ', но требуется в типе' [{key: string; val: любой; }] '.

Кто-нибудь может мне помочь?


person Giovanni Giampaolo    schedule 01.02.2019    source источник


Ответы (1)


[type] определяет кортеж с одним элементом. Вероятно, вам нужен массив, который определяется с помощью type[] или Array<type>

interface IPLTableProps {
    Conf: Array<{ key: string, val: any }>,
    Values?: string[],
    children?: ReactNode 
}
person Titian Cernicova-Dragomir    schedule 01.02.2019