找不到模块“react-faq-component”的声明文件

Ada*_*dam 2 npm reactjs react-native react-hooks

我正在尝试使用react-faq-component,但遇到问题。我或多或少复制了与链接中相同的示例(带有额外的打字稿)。

到目前为止,我的代码如下所示:

索引.tsx

import React from "react"
import Faq from "react-faq-component"

interface PropTypes {
    data: {
        title: string,
        rows: [{
            title: string,
            content: string
        }]
    },
    styles: any,
}

const data = {
    title: "FAQ (How it works)",
    rows: [
        {
            title: "Lorem ipsum dolor sit amet,",
            content: `Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed tempor sem. Aenean vel turpis feugiat,
              ultricies metus at, consequat velit. Curabitur est nibh, varius in tellus nec, mattis pulvinar metus.
              In maximus cursus lorem, nec laoreet velit eleifend vel. Ut aliquet mauris tortor, sed egestas libero interdum vitae.
              Fusce sed commodo purus, at tempus turpis.`,
        },
        {
            title: "Nunc maximus, magna at ultricies elementum",
            content:
                "Nunc maximus, magna at ultricies elementum, risus turpis vulputate quam, vitae convallis ex tortor sed dolor.",
        },
        {
            title: "Curabitur laoreet, mauris vel blandit fringilla",
            content: `Curabitur laoreet, mauris vel blandit fringilla, leo elit rhoncus nunc, ac sagittis leo elit vel lorem.
            Fusce tempor lacus ut libero posuere viverra. Nunc velit dolor, tincidunt at varius vel, laoreet vel quam.
            Sed dolor urna, lobortis in arcu auctor, tincidunt mattis ante. Vivamus venenatis ultricies nibh in volutpat.
            Cras eu metus quis leo vestibulum feugiat nec sagittis lacus.Mauris vulputate arcu sed massa euismod dignissim. `,
        },
        {
            title: "What is the package version",
            content: "3.2"
        },
    ],
}

const styles = {
    // bgColor: 'white',
    titleTextColor: "blue",
    rowTitleColor: "blue",
    // rowContentColor: 'grey',
    // arrowColor: "red",
}

const config = {
    // animate: true,
    // arrowIcon: "V",
    // tabFocus: true
}

export default function Faq({ data }: PropTypes) {
    return (
        <Faq
            data={data}
            styles={styles}
            //config={config}
        />
    )
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行时npm start,出现以下错误:

找不到模块“react-faq-component”的声明文件。隐式具有“any”类型。尝试npm i --save-dev @types/react-faq-component它是否存在或添加一个新的声明(.d.ts)文件,其中包含declare module 'react-faq-component';

我什至npm i --save-dev @types/react-faq-component按照它的建议运行,但此后我得到的错误是:

呃!404 未找到 - 获取 https://registry.npmjs.org/@types%2freact-faq-component - 未找到

Roh*_*wal 5

因此,正如建议所说,我们有两种选择来解决它。

  1. 安装类型文件。(在这种情况下不起作用)。

  2. 创建一个 .d.ts 文件并在其中声明模块。

在文件夹内src创建一个新文件,exports.d.ts然后在其中写入

declare module 'react-faq-component';
Run Code Online (Sandbox Code Playgroud)

还有第三种选择。在 tsconfig 文件内 make "noImplicitAny"to false.

  • 因此,当 Typescript 无法确定变量、声明等的类型时,它会回退到“any”类型。然而,在某些情况下,TS 隐含的任何假设都可能会导致问题。为了防止这种情况,noImplicitAny 设置为 true,这告诉 TS 不要确定任何无类型变量的类型。 (2认同)