React и наличие html атрибутов по условию

Первый случай, самый частый.
Случается что параметр у узла должен присутствовать при некотором условии. Например работа с параметром типа disabled. Предположим что по условию задачи у кнопки может включаться параметр disabled.

<!-- html -->
<button disabled="disabled">disabled button</button>

Реакт позаботился об этом случае: нужно только указывать булево значение для реакт атрибута:

// Объявление компонента
export function component(props) {
	render (<button disabled={props.disabled}>button text</button>)
}

// Кнопка со включенным disabled 
<component disabled={true} />

// Кнопка с выключенным disabled 
<component disabled={false} />

Второй случай, когда небулевый атрибут может как присутствовать, так и нет. В моем случае некоторым ссылкам надо было добавлять target="_blank", а другие должны были быть без аттрибута target.

Для этого случая я использовал спред оператор. Все атрибуты JSX тега - поля объекта props, передаваемого в конструктор. Атрибуты можно указывать через объект и спред оператор

// В случае когда isExternal == true, будет добавлено свойство target="blank"
// В случае когда isExternal == false, никаких дополнительных параметров у узла не будет
<a 
	{...(isExternal ? {target: '_blank'} : {})}
>Link</a>

В оригинальном ответе на stack overflow скобки перед спред оператором не используются, я добавил их так как на мой взгляд без этого сложнее понять что именно происходит.