У меня три компонента А, В и С.
У меня два флага showA и showB.
Как мне этого добиться?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Добиться этого можно разными способами.
render() {
const { showA, showB } = this.state;
if (showA) return <A />
if (showB) return <B />
return <C />
}
render() {
const { showA, showB } = this.state;
return (
<div>
{(showA && !showB) && <A />}
{(showB && !showA) && <B />}
{(!showA && !showB) && <C />}
</div>
)
}
См. Также: https://reactjs.org/docs/conditional-rendering.html
Спасибо .. Замечательно!
class APP extends React.Component {
constructor() {
super();
this.state = { showA: false, showB: false };
}
render() {
const {showA, showB} = this.state;
return [showA && <A/>, showB && <B />];
}
}
Я думаю, вы имели в виду показать компонент C, когда showA и showB оба ложны
Предполагая, что ваши showA и showB являются свойствами состояния:
render() {
return (
this.state.showA
? <A />
: this.state.showB ? <B />
: <C />
)
}
Пожалуйста, найдите время, чтобы прочитать официальную документацию React, прежде чем задавать подобные вопросы. responsejs.org/docs/conditional-rendering.html