使用Typescript进行React Hooks:类型上不存在属性“数据”

时间:2019-09-27 19:09:44

标签: reactjs typescript react-hooks

我有一个没有意义的错误,我正在用钩子输入状态的值,但是他说错误不是同一类型。

已经尝试过使用空数组,甚至带有某些数据的数组,并且总是出现错误。

import React, { useState } from 'react';
import { Row, Col } from 'config/styles';
import Bed from './Bed';

interface DataTypes {
  date: string;
  value: number;
}

function Beds(): JSX.Element {
  const { data, setData } = useState<DataTypes[]>([]);

  return (
    <>
      <Row>
        {data.map((d, i) => (
          <Col key={i} sm={16.666} lg={10}>
            <Bed {...d} />
          </Col>
        ))}
      </Row>
    </>
  );
}

export default Beds;

错误:

TypeScript error in /Users/keven/Documents/carenet/orquestra-frontend/src/Beds/index.tsx(11,11):
Property 'data' does not exist on type '[DataTypes[], Dispatch<SetStateAction<DataTypes[]>>]'

1 个答案:

答案 0 :(得分:2)

它应该是数组,而不是对象:

const [data, setData] = useState<DataTypes[]>([]);

您在错误消息中有此指示:

type '[DataTypes[], Dispatch<SetStateAction<DataTypes[]>>]'