Reagir padrão de renderização condicional

Eu implementei um componente Modal que mostra uma caixa de diálogo modal na tela. Normalmente, o modal será exibido condicionalmente. Existem duas maneiras de fazer isso na função de renderização:

render(){
    ...
    <Modal show={this.state.showModal}>
        // something in modal
    </Modal>
}

No componente Modal, eu uso this.props.show para adicionar uma classe diferente a si mesma. Quando isso é falso, ele adiciona uma exibição: none para ocultar o modal.

Outra maneira é assim:

render(){
    ...
    { this.state.showModal &&
        (<Modal>
            // something in modal
        </Modal>)
    }
}

Isso usashowModal para decidir se deve ou não adicionar o Modal na renderização.

O que eu quero descobrir é:

Qual é a diferença entre essas duas maneiras?Um deles é melhor que o outro?Há outra maneira de fazer isso?

EDIT: Parece que pessoas diferentes têm preferências diferentes. Para mim, eu prefiro o que o @ErikTheDeveloper disse. A capacidade de mostrar / ocultar o Modal deve manter-se dentro do Modal e, quando não precisamos mostrar o Modal, podemos retornar nulo no Modal.

Acho que talvez não haja uma resposta certa para qual caminho é melhor. Talvez seja apenas uma escolha pessoal?

questionAnswers(6)

yourAnswerToTheQuestion