I have some repetitive code which renders some html in a React component. I would like to store the repetitive html elements in a variable and return them but am unable to do this.
const renderAddress = event => {
if (event.venue.address.address_2) {
return (
<address>
{event.venue.address.address_2}
<br />
{event.venue.address.address_1}
<br />
{event.venue.address.city}
<br />
{event.venue.address.postal_code}
</address>
)
} else {
return (
<address>
{event.venue.address.address_1}
<br />
{event.venue.address.city}
<br />
{event.venue.address.postal_code}
</address>
)
}
}
Ideally I would like something like this:
const renderAddress = event => {
const base = (
{event.venue.address.address_1}
<br />
{event.venue.address.city}
<br />
{event.venue.address.postal_code}
)
if (event.venue.address.address_2) {
return (
<address>
{event.venue.address.address_2}
<br />
{base}
</address>
)
} else {
return (
<address>
{base}
</address>
)
}
}