I have the below code is react.js which is throwing an error
"Adjacent JSX elements must be wrapped in an enclosing tag". It looks like React isnt accepting same tags next to each other how do I display tabular data?
var TestRecords = React.createClass({
render: function() {
return(
<table>
<tr>
{this.props.records.map(record=>{
return <td>{record.title}</td><td>record.id</td>
}
)}
</tr>
</table>
);
}
});
With React, you may only provide two things to a component tree - a node (element) or a collection of nodes.
Here you're providing two nodes (two td
s). You need to either wrap them in a tr
, or return them as an array (with key
attributes). Also less ideal in this example since it appears that your generator should probably include tr
in the first place.
Try
return (
<table>
{this.props.records.map(record => ( // implicit return
<tr key={record.id}>
<td>{record.title}</td>
<td>{record.id}</td>
</tr>
)}
</table>
)
Can you try as below,
var TestRecords = React.createClass({
render: function() {
return(
<table>
<tr>
{this.props.records.map(record=>{
return
<tr>
<td>{record.title}</td>
<td>record.id</td>
</tr>
}
)}
</tr>
</table>
);
}
});
Error is because the map is trying to return two td
elements. Which could be the reason for the error
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With