繁体   English   中英

绑定元素“xxx”在 Typescript 中隐式存在“任何”类型错误

[英]Binding element 'xxx' implicitly has an 'any' type error in Typescript

我有一个基于 TypeScript 的 ReactJS 项目。 以下是一个这样的文件:Layout.tsx

import React from 'react';
import { Helmet } from 'react-helmet-async';
import NavigationBar from './navigation/NavigationBar';
import Footer from './footer/Footer';

const Layout = ({ title, description, children }) => {
     return (
          <>
               <Helmet>
                    <title>{title ? title + " - React Boilerplate" : "React.js Boilerplate"}</title>
                    <meta name="description" content={description || "React.js Boilerplate"} />
               </Helmet>
               <NavigationBar />
               <main className="container">
                    {children}
               </main>
               <Footer />
          </>
     );
}

export default Layout;

为此,我不断得到: Binding element 'title' implicitly has an 'any' type. 我在网上尝试了解决方案,但所有这些都是针对 Javascript 的,似乎与我的不匹配。 帮助在这里表示赞赏。

您缺少为您的组件(您的功能)输入的内容。 首先你必须告诉 TS 这是FunctionalComponent ,其次你必须告诉它它的 props。

这是你怎么做的

import React from 'react';
import { Helmet } from 'react-helmet-async';
import NavigationBar from './navigation/NavigationBar';
import Footer from './footer/Footer';

interface LayoutProps {
  title?: string;
  description?: string;
}

const Layout: React.FC<LayoutProps> = ({ title, description children }) => {
     return (
          <>
               <Helmet>
                    <title>{title ? title + " - React Boilerplate" : "React.js Boilerplate"}</title>
                    <meta name="description" content={description || "React.js Boilerplate"} />
               </Helmet>
               <NavigationBar />
               <main className="container">
                    {children}
               </main>
               <Footer />
          </>
     );
}

export default Layout;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM