我有一个React Wrapper组件,它接受一些道具,但将所有其他道具转发给子组件(尤其是对诸如className,id等本机道具的relevent)。
但是,当我通过本地道具时,打字稿抱怨。查看错误消息:
TS2339:类型’IntrinsicAttributes和IntrinsicClassAttributes <包装器>&Readonly
<{子代?:ReactNode;}>和Readonly”。
我如何获得带有特定道具的组件,该组件也接受本机道具( 不 接受任何道具并放弃类型检查)?
我的代码如下所示:
interface WrapperProps extends JSX.IntrinsicAttributes {
callback?: Function
}
export class Wrapper extends React.Component<WrapperProps>{
render() {
const { callback, children, ...rest } = this.props;
return <div {...rest}>
{children}
</div>;
}
}
export const Test = () => {
return <Wrapper className="test">Hi there</Wrapper>
}
仅供参考:我在这里找到了类似的问题,但是答案基本上放弃了类型检查
我们可以看看div
props的定义方式:
interface IntrinsicElements {
div: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
}
如果将其React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>,HTMLDivElement>
用作基本类型,则将具有的所有属性div
。由于DetailedHTMLProps
刚刚添加ref
,React.HTMLAttributes<HTMLDivElement>
我们可以将其用作获取所有div
属性的基本接口:
interface WrapperProps extends React.HTMLAttributes<HTMLDivElement> {
callback?: Function
}
export class Wrapper extends React.Component<WrapperProps>{
render() {
const { callback, children, ...rest } = this.props;
return <div {...rest}>
{children}
</div>;
}
}
export const Test = () => {
return <Wrapper className="test">Hi there</Wrapper> // works now
}
问题内容: 当我将商店从道具传递到其他组件时,它变得不确定。我正在使用时会发生这种情况,但如果没有这种情况,它会很好。路线部分 路线在组件中 布局方法 我正在像这样通过应用程序组件传递商店 该商店将从这样的布局组件转到主体组件 在主体组件中,我是从正在node.js服务器中运行的api获取的 我在功能中出现错误 错误 无法读取未定义的属性“地图” 奇怪的是,当我在没有路线的情况下工作时,一切都会好
如果我想做以下事情: 它将在两种情况下评估变量,因此在其中一种情况下,我得到类似第1个场景和在第二个场景中。 如果可能的话,我会避免硬编码这个值,我读过关于的文章,但没有使用它,有一个独立的文件来生成时间戳听起来很有趣。 我正在使用空手道网络,你对如何实现这一点有建议吗?:) 谢谢
我知道这个问题有很多答案,但我找不到一个能完全解决我问题的答案。我得到以下错误:
我是一个相当新的反应,这是一个我正在努力解决的问题。
我试图通过反应路由器将道具从一个组件传递到另一个组件。当我试图从子组件获取道具时,我得到了这样一条消息。这是我的代码: Tracks.jsx: app.jsx: Album.jsx:
我开始使用discord.js编程一个discord bot,但我无法找到一种方法让bot将接收到的消息重定向到服务器上的一个特定通道中作为嵌入式。 以下是我目前为止的代码: PS:你大概可以看得出来,我对JS是个新手。 编辑:我设法让它工作起来,它发送聊天中收到的每一条消息,但也发送每一个回答()。有没有一种方法可以跳过特定内容的消息,有没有一种方法可以将重定向的消息放在带有日期、作者和消息的嵌
情况: 我想做的事: 问题: 我只能指定一个propType?我如何允许两种不同的道具组合成一种? 谢谢
我试图通过使用src属性的props路径来显示带有img标记的图像。 我试着用更改路径,用使用整个路径,在组件中添加,并且只传递文件名()作为道具。我总是显示默认的断开图像。在浏览器中检查时,路径看起来很好。当我直接显示图像时,我可以看到路径被解析为不同的路径