JSX 元素类型"订阅卡"没有任何构造或调用签名



我想在react.js.中使用react订阅卡模块进行电子邮件订阅

这是我在popup.tsx.中的代码

import React from "react";
import SubscribeCard from "react-subscribe-card";
const mailchimpURL = `[Your Mailchimp subscription URL]`;
const outerCardStyle = `
padding: 0;
box-shadow: 0px 5px 35px 0px rgba(50, 50, 93, 0.17);
`;
const subContainerStyle = `
box-shadow: 0 2px 5px -1px rgba(50,50,93,.25), 0 1px 3px -1px rgba(0,0,0,.3);
align-items: center;
`;
const subInputStyle = `
border-width: 0;
margin: 0;
`;
const subButtonStyle = `
border-radius: 0;
flex-grow: 1;
background-color: #fdfdfd;
color: #000000;
`;
const App = () => (
<div>
<SubscribeCard
mailchimpURL={mailchimpURL}
outerCardStyle={outerCardStyle}
subContainerStyle={subContainerStyle}
subInputStyle={subInputStyle}
subButtonStyle={subButtonStyle}
/>
</div>
);
export default App;

但是我收到这个错误

JSX元素类型"SubscribeCard"没有任何构造或调用签名。

plz帮我修复。感谢

声明文件中存在问题

正如您可能已经注意到的,SubscribeCard没有类型

您可以创建PR,也可以使用以下变通方法:

import React from "react";
import { SubscribeCard, Props } from "react-subscribe-card";
declare module "react-subscribe-card" {
type ExtendedProps = {
mailchimpURL: string;
outerCardStyle: string;
subContainerStyle: string;
subInputStyle: string;
subButtonStyle: string;
};
var SubscribeCard: React.ComponentClass<Props & ExtendedProps>;
}

const mailchimpURL = `[Your Mailchimp subscription URL]`;
const outerCardStyle = `
padding: 0;
box-shadow: 0px 5px 35px 0px rgba(50, 50, 93, 0.17);
`;
const subContainerStyle = `
box-shadow: 0 2px 5px -1px rgba(50,50,93,.25), 0 1px 3px -1px rgba(0,0,0,.3);
align-items: center;
`;
const subInputStyle = `
border-width: 0;
margin: 0;
`;
const subButtonStyle = `
border-radius: 0;
flex-grow: 1;
background-color: #fdfdfd;
color: #000000;
`;
const App = () => (
<div>
<SubscribeCard
mailchimpURL={mailchimpURL}
outerCardStyle={outerCardStyle}
subContainerStyle={subContainerStyle}
subInputStyle={subInputStyle}
subButtonStyle={subButtonStyle}
/>
</div>
);

请记住,您没有提供所有必需的道具。

相关内容

最新更新