Мне нравится JSX и способы, которыми вы можете манипулировать им, поэтому подумал, что я тоже опубликую ответ.
Используйте комбинацию массива, которой легко манипулировать, и нативный JSX-рендерингПримерно так ...
const renderAddress = event => {
var address_pieces = [];
if (event.venue.address.address_2) {
address_pieces.push(event.venue.address.address_2);
}
address_pieces.push(event.venue.address.address_1);
address_pieces.push(event.venue.address.city);
address_pieces.push(event.venue.address.postal_code);
return (
<address>
{address_pieces.map(address_piece => {
return (
<span>
{address_piece}
<br />
</span>
);
})}
</address>
);
};
Это удаляет лишние части вашего кода и дает вам несколько новых инструментов JS для работы, например, map()
.
, которые я также кодировалполный рабочий образец здесь: https://codesandbox.io/s/r1w60ozo3o