Что касается вычисляемых свойств, вы можете создать функцию в своем компоненте React, которая возвращает вычисленное значение.

fullName: () => this.props.firstName + ' ' + this.props.lastName;

Or

fullName: () => this.state.firstName + ' ' + this.state.lastName;

Или если вы используете Redux

const lastNameSelector = (user) => user.firstName + ' ' user.lastName

Вы даже можете запомнить селектор (это сделано для вас, если вы используете Reselect), чтобы повысить производительность, если вы часто обращаетесь к фамилии. Кроме того, если вам нужны сеттеры, вы тоже можете это сделать. В конце концов, это всего лишь JavaScript.

Для условного рендеринга, помимо других предложений, например:

{Math.random() > 0.5 && <span>I have a 50% shot at being rendered!</span>}

Если вам нужен синтаксис, подобный Vue, вы можете создать свой собственный компонент React и сделать:

<If cond={Math.random > 0.5}><span>I have a 50% shot at being rendered!</span></If>

React очень мало разбирается в том, как вы его используете, в конце концов, это всего лишь библиотека, а не фреймворк. Иногда легко увидеть другие преимущества в более крупных фреймворках, потому что они самоуверенны и предоставляют дополнительные функции. Однако чаще всего их можно создать в React.