【发布时间】:2019-10-21 17:30:56
【问题描述】:
我是编程新手,尤其是 ReactJS。其实我遇到了问题。
我只是想换个页面。对我来说这听起来很简单,但它是一个没有乐趣的 2 天 Google-Search-Nothing-Found-Adventure。
我制作了一个名为<Frontpage />的组件
它在开始时直接呈现,但我想通过单击按钮来更改它。
这是我的代码:
import React from 'react';
import './App.css';
import Frontpage from './Frontpage'
import Question from './components/Question'
class App extends React.Component {
constructor() {
super()
this.state = {
showComponent: true,
}
}
handleClick() {
if (this.state.showComponent) {
return <Question />
} else {
console.log("Something went wrong!")
}
// console.log("The button was clicked!")
// document.getElementById('page')
// document.getElementsByClassName('App-Header')
}
render() {
return (
<div className="App">
<header className="App-header">
<div id="page">
<Frontpage />
</div>
<button id="button" onClick={this.handleClick}>Los geht's</button>
</header>
</div>
);
}
}
export default App;
当我点击它时,它总是说:“TypeError: Cannot read property 'state' of undefined”
我尝试了很多,但没有任何效果。
【问题讨论】:
-
你需要在构造函数中绑定handleClick。查看文档以获取示例 reactjs.org/docs/handling-events.html
-
如果您需要根据页面更改组件,请检查react-router
标签: javascript reactjs button components