{value >= 345 && value <= 500 ? <div>ничего нет</div> : null}
будет ещё больше таких промежутков
Ну тогда делаете массив объектов, которые будут содержать два свойства - массив промежутков (и отдельных значений, если надо) и текст, который надо вывести. И фильтруете его при рендеринге. Как-то так:
const messages = [
{
values: [ 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 ],
message: 'hello, world!!',
},
{
values: [ [ 5, 15 ], [ 100, 200 ], 333, 444, 555 ],
message: 'fuck the world',
},
{
values: [ [ 50, 150 ], [ 250, 350 ], [ 666, 999 ] ],
message: 'fuck everything',
}
];
...
<div>
{messages
.filter(n => n.values.some(v => (
(v instanceof Array && v[0] <= value && value <= v[1]) ||
v === value
)))
.map(n => <div>{n.message}</div>)
}
</div>