下面的代码在单击各种选项卡时隐藏并显示div,并且按照下面的代码与 javascript 一起工作正常
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<style>
#t2, #t3 {
display: none;
}
#t1{
display: block;
}
</style>
<script>
function tablet(indices) {
document.getElementById('t1').style.display="none";
document.getElementById('t2').style.display="none";
document.getElementById('t3').style.display="none";
document.getElementById(indices).style.display="block";
}
</script>
<a onclick="tablet('t1')">Tab 1</a><br>
<a onclick="tablet('t2')">Tab 2</a><br>
<a onclick="tablet('t3')">Tab 3</a><br>
<div id="t1"><b>I am tab 1</b></div>
<div id="t2"><b>I am tab 2</b></div>
<div id="t3"><b>I am tab 3</b></div>
</body></html>
这是我的问题:
现在我想在 reactjs 中实现它,但是div单击任何选项卡时都无法按预期工作。它显示和隐藏所有内容。
它应该像上面的javascript一样工作。例如。的内容tab1会自动显示。当我单击 时tab2,tab1应该隐藏的内容,以便tab2显示的内容等等。
任何解决方案或解决方法将不胜感激
<!DOCTYPE html>
<html>
<head>
<script src="build/react.min.js"></script>
<script src="build/react-dom.min.js"></script>
<script src="build/browser.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
</head>
<body>
<div id="app"></div>
<script type="text/babel">
class Application extends React.Component {
constructor(props) {
super(props);
this.state = {showing: true };
}
render() {
const { showing } = this.state;
return (
<div className="container">
<b>Hello welcome</b><br />
<button onClick={() => this.setState({ showing: !showing })}>Tab 1</button>
<button onClick={() => this.setState({ showing: !showing })}>Tab 2</button>
<button onClick={() => this.setState({ showing: !showing })}>Tab 3</button>
<div style={{ display: (showing ? 'block' : 'none') }}>I am Tab 1</div>
<div style={{ display: (showing ? 'block' : 'none') }}>I am Tab 2</div>
<div style={{ display: (showing ? 'block' : 'none') }}>I am Tab 3</div>
</div>
);
}
}
ReactDOM.render(<Application />, document.getElementById('app'));
</script>
</body>
</html>