【发布时间】:2021-11-09 05:29:39
【问题描述】:
我确定以前有人问过这个问题,但我找不到。我正在尝试将嵌套对象作为道具传递给 React.Component 类,但我不断收到此错误:
react-dom.development.js:13231 Uncaught Error: Objects are not valid as a React child (found: object with keys {props, context, refs, updater}). If you meant to render a collection of children, use an array instead.
我有一个这样创建的 App.tsx 文件:
import React from "react";
export type Child = {
id: number
}
export type Parent = {
id: number,
child: Child
}
export class Card extends React.Component<Parent> {
render() {
return <div>
Parent ID: {this.props.id}
Child ID: {this.props.child.id}
</div>;
}
}
function App() {
const data: any = {
"id": 1,
"child": {
"id": 2
}
}
const card: Card = new Card(data);
return (
<div className="app">
{card}
</div>
);
}
export default App;
这种事情不可能吗?看起来应该是,但也许我错过了一些东西。有没有办法让这样的工作或我没有使用的正确模式?谢谢!
【问题讨论】:
-
你为什么要创建这样的组件
const card: Card = new Card(data);你可以只使用 JSX<Card id={1} child={{ id: 2}} />并传递道具 -
谢谢,只是没有 React 经验而已。
标签: javascript reactjs typescript tsx