Я новичок в reactJS
, я пытаюсь создать веб-приложение, в котором есть 3 кнопки , изначально содержимое первой кнопки должно быть видно, затем после нажатия любой другой кнопки, которую я хочу скрытьсодержимое предыдущего и отображаемого нового содержимого соответствует нажатой новой кнопке.
Как, скажем, у меня есть 3
кнопки A,B and C
на экране подряд.Имея содержимое как "Button A is pressed"
, "Button B is pressed"
и "Button C is pressed"
Теперь под кнопками должно отображаться содержимое A, которое называется «Кнопка A нажата».
Теперь, когда я нажимаю любую другую кнопку, содержимое B
должно быть видимым, а содержимое "Button B is pressed"
и A's
должно быть скрыто.Теперь это происходит снова и снова, например, когда я снова нажимаю A
, тогда должен быть виден "Button A is pressed"
, а содержимое B
должно быть скрыто.То же самое касается C
.
Что я искал, и я не понял, как его применить, поскольку они просто переключают или отображают, а не выполняют то, что я хочу сделать?
https://reactjs.org/docs/faq-functions.html
Отображение компонента при нажатии кнопки в React
Отображение или скрытие элемента в React
Что я реализовал?
var ASearch = React.createClass({
getInitialState: function() {
return { showResultsA: true };
},
onClick: function() {
this.setState({ showResultsA: true, showResultsB: false, showResultsC: false });
},
render: function() {
return (
<div>
<Button type="submit" placeholder="Button A" onClick={this.onClick} />
{ this.state.showResultsA ? <AResults /> : null }
</div>
);
}
});
var BSearch = React.createClass({
getInitialState: function() {
return { showResultsB: false };
},
onClick: function() {
this.setState({ showResultsA: false, showResultsB: true, showResultsC: false });
},
render: function() {
return (
<div>
<Button type="submit" placeholder="Button B" onClick={this.onClick} />
{ this.state.showResultsB ? <BResults /> : null }
</div>
);
}
});
var CSearch = React.createClass({
getInitialState: function() {
return { showResultsC: false };
},
onClick: function() {
this.setState({ showResultsA: false, showResultsB: false, showResultsC: true });
},
render: function() {
return (
<div>
<Button type="submit" placeholder="Button C" onClick={this.onClick} />
{ this.state.showResultsC ? <CResults /> : null }
</div>
);
}
});
var AResults = React.createClass({
render: function() {
return (
<div id="Aresults" className="search-results">
Button A is Pressed
</div>
);
}
});
var BResults = React.createClass({
render: function() {
return (
<div id="Bresults" className="search-results">
Button B is Pressed
</div>
);
}
});
var CResults = React.createClass({
render: function() {
return (
<div id="Cresults" className="search-results">
Button C is pressed
</div>
);
}
});
Это я создал вне моего класса, импортирующего React.
export default class Program extends React.Component {
render{
return( <ASearch />
<BSearch />
<CSearch />);
}