我有一个要显示在表中的对象数组。 我有以下代码
class Table extends React.Component {
constructor(props) {
super(props);
this.state = {
data: this.props.data
};
}
render() {
return (
<table>
{this.state.data.map(row => {
console.log(row);
<Test/>
})}
</table>
);
}
}
class Test extends React.Component {
constructor(props) {
super(props);
console.log("7");
}
render() {
return;
}
}
表中的 console.log()可以正确打印我的所有数据,但是,我的 console.log() Test 构造函数从不打印。
为什么没有创建 Test ?
我的适当行如下:
class Rows extends React.Component {
constructor(props) {
super(props);
this.state = {
data: this.props.rowData
};
console.log("2");
}
render() {
return (
<tr>
<td>{this.state.data.paymentFrom}</td>
<td>{this.state.data.paymentTo}</td>
<td>{this.state.data.paymentPeriod}</td>
<td>{this.state.data.paymentAmount}</td>
</tr>
);
}
}
答案 0 :(得分:2)
要使Test组件正确呈现,必须返回该组件,如果它永远不会在函数主体上返回,则永远不会打印。
尝试这种方式:
class Table extends React.Component {
constructor(props) {
super(props);
this.state = {
data: this.props.data
};
}
render() {
return (
<table>
{this.state.data.map(row => {
console.log(row);
return (<Test/>)
})}
</table>
);
}
}
class Test extends React.Component {
constructor(props) {
super(props);
console.log("7");
}
render() {
return;
}
}
答案 1 :(得分:1)
您需要return <Test/>
才能启动和呈现。