ero*_*msr 6 typescript reactjs tsx react-hooks
我有一个组件的代码:
反馈.tsx
import React, { useState } from 'react';
import './Feedback.css';
import FeedbackButton from './FeedbackButton';
function Feedback() {
const [isOpen, setIsOpen] = useState<boolean>(false)
return (
<div className="Feedback">
<FeedbackButton onClick={() => setIsOpen(!isOpen)} />
</div>
);
}
export default Feedback;
Run Code Online (Sandbox Code Playgroud)
该FeedbackButton组件如下所示:
反馈按钮.tsx
import React from 'react';
import feedbackicon from './feedback.svg';
import './Feedback.css';
function FeedbackButton() {
return (
<button className="Feedback-button" type="button">
<img src={feedbackicon} className="Feedback-button-icon" alt="feedback" />
</button>
);
}
export default FeedbackButton;
Run Code Online (Sandbox Code Playgroud)
在线<FeedbackButton onClick={() => setIsOpen(!isOpen)} />我收到错误Type '{ onClick: () => void; }' is not assignable to type 'IntrinsicAttributes'. Property 'onClick' does not exist on type 'IntrinsicAttributes'.
我搜索了它并尝试使用FunctionalComponent修复它,但我得到了同样的错误。我怎样才能使这个 onClick 与 useState 一起工作?
ton*_*kai 10
function FeedbackButton(props:{onClick:()=>void}) {
return (
<button className="Feedback-button" type="button" onClick={props.onClick}>
<img src={feedbackicon} className="Feedback-button-icon" alt="feedback" />
</button>
);
}
Run Code Online (Sandbox Code Playgroud)
像这样的东西应该更适合你,你可以将类型从按钮 onclick 复制到你的道具,并在需要时更好地打字
| 归档时间: |
|
| 查看次数: |
15728 次 |
| 最近记录: |