【发布时间】:2022-01-06 00:48:21
【问题描述】:
我是使用 React 的新手,我对 JavaScript 有基本的了解。我之前在 JavaScript 中创建了这个 Web 应用程序,但我正在 React 中重新创建它以进行练习。
这是原始网络应用程序: https://iamstevenhale.github.io/DrunkenHeroes/menu.html
我试图在用户单击组件按钮时显示“免责声明”组件,然后在单击 X 时再次关闭。
单击按钮时在页面之间导航的正确方法是什么?
我的设置错了吗?
索引.js
import React from 'react'
import ReactDOM from 'react-dom'
import 'bootstrap/dist/css/bootstrap.css'
import Menu from './components/menu'
ReactDOM.render(<Menu />, document.getElementById('root'))
MENU.js(组件)
import Disclaimer from './disclaimer'
import './styles.css'
import { BrowserRouter as Router, Route, Link } from 'react-router-dom'
class Menu extends React.Component {
constructor(props) {
super(props)
this.state = {
showComponent: false,
}
this._onButtonClick = this._onButtonClick.bind(this)
}
_onButtonClick() {
this.setState({
showComponent: true,
})
}
render() {
return (
<div>
<div>
<h1 className='title sway'>Drunken Heroes</h1>
</div>
<div className='centreDivContents'>
<p className='subtitle'>What happens when Heroes Party?</p>
</div>
<div className='centreDivContents'>
<button className='HSButton'>Play</button>
<br />
<button className='HSButton'>Rules</button>
<br />
<div>
<button className='HSButton' onClick={this._onButtonClick}>
Disclaimer
</button>
{this.state.showComponent ? <Disclaimer /> : null}
</div>
</div>
</div>
)
}
}
export default Menu
DISCLAIMER.js(组件)
import React from 'react'
import 'bootstrap/dist/css/bootstrap.css'
import './styles.css'
class Disclaimer extends React.Component {
render() {
return (
<div>
<div>
<h1>X</h1>
</div>
<h1>Disclaimer - Input the disclaimer text here.</h1>
</div>
)
}
}
export default Disclaimer
【问题讨论】:
标签: javascript reactjs components