我试图使用antd库创建一个web表,但遇到了一个错误
“react.development.js:1251未捕获错误:react.Children.only应接收单个react元素子元素”。我完全陷入困境,无法找到解决办法。有人能帮忙吗?
import React, { Component } from 'react';
import { Table, Divider, Tag } from 'antd';
import Link from 'next/link';
import { connect } from 'react-redux';
import { getOrdersByUser } from '../../../../store/profile/action';
class TableInvoices extends Component {
constructor(props) {
super(props);
this.state = {};
}
componentDidMount() {
this.props.dispatch(getOrdersByUser('buyer1@gmail.com'));
}
render() {
// const tableData = [
// {
// id: '1',
// invoice_id: '500884010',
// product_title: 'Marshall Kilburn Portable Wireless Speaker',
// invoice_date: '20-1-2020',
// cost: '42.99',
// status: 'Successful delivery',
// },
// {
// id: '2',
// invoice_id: '593347935',
// product_title: 'Herschel Leather Duffle Bag In Brown Color',
// invoice_date: '20-1-2020',
// cost: '199.99',
// status: 'Cancel',
// },
// ];
let tableData = [];
const { userOrderHistory } = this.props;
if (
typeof userOrderHistory != 'undefined' &&
userOrderHistory.length > 0
) {
tableData = this.props.userOrderHistory.map((row) => ({
id: row.id,
invoiceID: row.invoice_id,
productTitle: row.product_title,
invoiceDate: row.invoice_date,
cost: row.cost,
status: row.status,
}));
}
const tableColumn = [
{
title: 'Id',
dataIndex: 'invoiceID',
rowKey: 'invoiceID',
key: 'invoiceID',
width: '120px',
render: (text, record) => (
<Link href="/account/invoice-detail">
{record.invoiceID}
</Link>
),
},
{
title: 'Title',
dataIndex: 'productTitle',
rowKey: 'productTitle',
key: 'productTitle',
},
{
title: 'Date',
rowKey: 'invoiceDate',
dataIndex: 'invoiceDate',
key: 'invoiceDate',
width: '120px',
},
{
title: 'Amount',
rowKey: 'cost',
dataIndex: 'cost',
key: 'cost',
render: (text, record) => (
<span className="text-right">${record.cost}</span>
),
},
{
title: 'Status',
key: 'status',
dataIndex: 'status',
rowKey: 'status',
width: '150px',
render: (text, record) => (
<span className="text-right">{record.status}</span>
),
},
];
console.log('tableColumn');
return (
<Table
columns={tableColumn}
dataSource={tableData}
rowKey={(record) => record.id}
/>
);
}
}
const mapStateToProps = (state) => {
return state.profile;
};
export default connect(mapStateToProps)(TableInvoices);
两个连接
和Redux提供程序
都需要单个子组件,所以需要检查的一件事是:从我在antd文档中看到的情况来看,Table组件可以返回多个子组件,尝试将您的表组件包装在一个片段中。
否则,你确定它来自这个文件吗
问题可能来自Redux提供程序,在这种情况下:
作出反应。儿童仅期望收到单个react元素的子导航器将有所帮助
另外,为了以防万一,即使这对我来说是非常惊讶的,你有没有尝试删除括号和返回的实际组件之间的空格?也许有一个不Rest的空间?
return <Table
columns={tableColumn}
dataSource={tableData}
rowKey={(record) => record.id}
/>
当我试图在WordPress中添加
我正在学习自己的反应。在我的渲染循环中,我尝试在其中添加元素,以便为每个数据创建超链接。但我有一个问题:反应。儿童仅应接收单个React元素子元素。有人知道为什么会这样吗?这是我的部分代码。希望能让我的问题更容易理解。我跳过了编码的一些部分,因为问题似乎发生在渲染部分。 应用程序。js ### 编码乐趣。js ps:posts是json数据,我没有在这里添加太多数据。 列表age.js } 如果我
获取错误错误:反应。Children.only预期接收一个React元素子元素。真的卡住了,有人帮忙吗?
我的React本机代码中有以下呈现方法: 它给我这个错误: 预期接收单个React元素子元素 如果我删除了组件,它就可以正常工作。如果我删除图像组件,它仍然会给出错误。 我不明白为什么它会给我这个错误<代码>
我正在添加ReCAPTCHA到一个(引导哲基尔)网站,有多个联系人表单。页脚有一个弹出模式,偶尔有一个“立即联系我们”部分,还有几个页面上有一个“请求更多关于____的信息”。 由于我在一个页面上有多个联系人表单,所以我需要显式呈现每个recaptcha。代码如下: 在我的JavaScript中: 在页脚中(包含在所有页面中) (并在页脚底部) 这在一个有两个单独联系人表单的页面上工作得很好(即我