我有一个用于呈现新组件的按钮(实际上是图表,我已将示例简化为仅显示文本),它在第一次单击时向页面添加文本,但不会向页面添加任何新的文本对象进一步点击。
我已经测试了该函数是否在我多次按下它时实际上正在运行,方法是让它将元素添加到它所做的数组中,那么为什么它在多次单击时不向页面呈现新的文本对象?
我可能会遗漏一些基本的东西,如果有任何解释,我将不胜感激。
import React from 'react';
import './App.css';
class NewChart extends React.Component {
render() {
return (
<div>Text</div>
);
}
}
class Button extends React.Component {
render() {
return (
<button {...this.props}>
Add chart
</button>
);
}
}
class ChartApp extends React.Component {
constructor() {
super();
this.state = {
clicked: false
};
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.setState({
clicked: true
});
}
render() {
return (
<div>
<Button onClick={this.handleClick} />
{this.state.clicked ? <NewChart />: null}
</div>
);
}
};
export default React.createClass({
render: function () {
return (
<div>
<ChartApp>
</ChartApp>
</div>
)
}
});