【发布时间】:2021-10-07 14:58:27
【问题描述】:
我收到以下警告,但应用程序运行正常:
函数作为 React 子级无效。如果您可能会发生这种情况 返回一个组件而不是从渲染。或者也许你 意味着调用这个函数而不是返回它。 在 div 中(在 MyCollection.tsx:16)
export default function MyCollection(props:any ) {
let nodes = useSelector((state: any) => state.vpms.norm.nodes);
// let node = useSelector((state: any) => state.vpms.norm.nodes[props.id]);
const groupListAdapter: GroupListAdapter = useGroupList(props);
let items: any = [];
groupListAdapter.itemsIds().forEach((itemId:any) => {items.push(nodes[itemId])});
const getItems = items.map((item: any, index: number) =>
<div key={index}>
{props.render}
</div>
)
return (
<>
{getItems}
</>
);
}
但我不能称它为{getItems()},因为它是一个数组。
{props.render}是;
<MyCollection id={id(persons, 'coverages')}
render= {(coverages: any, index: number) => (
<Accordion id={coverages.id} isExpanded={true} >
<Grid columns={4} style={{width: "100%"}} >
<Cell width={calculateWidth(2, 4)}>
<Checkbox id={id(coverages, "assured_editable")} labelPosition='before' tabId={persons.id} styleIds={[]} />
</Cell>
...
【问题讨论】:
-
getItems 是一个数组,而不是一个函数;什么是 props.render?
标签: reactjs typescript