Я внедрил компонент Modal, который показывает модальный диалог на экране. Обычно модальное отображение будет условно. Есть два способа сделать это в функции рендеринга:
render(){
...
<Modal show={this.state.showModal}>
// something in modal
</Modal>
}
В модульном компоненте я использую this.props.show для добавления к нему другого класса. Если это неверно, оно добавит отображение: none, чтобы скрыть модальный.
Другой способ:
render(){
...
{ this.state.showModal &&
(<Modal>
// something in modal
</Modal>)
}
}
В этом случае используется showModal
, чтобы решить, добавлять или не добавлять Modal в render.
Что я хочу понять:
- В чем разница между этими двумя способами?
- Один из них лучше другого?
- Есть ли другой способ сделать это?
EDIT: Кажется, что разные люди имеют разные предпочтения. Для меня лично я предпочитаю, что сказал @ErikTheDeveloper. Способность, которая отображает/скрывает Modal, должна оставаться внутри Modal, и когда нам не нужно показывать Modal, мы можем вернуть null в Modal.
Я думаю, может быть, нет определенного ответа, для чего лучше. Может быть, это просто личный выбор?