新しいコンポーネントをレンダリングするためのボタンがあります(実際にはグラフを表示していますが、テキストのみを表示するようにしました)。初めてクリックしたときにテキストを追加します追加のクリックで新しいテキストオブジェクトをページに追加します。リアクションボタンが1回以上レンダリングされない
私は、関数が実際に実行されているかどうかをテストしました。なぜなら、その要素が配列に要素を追加することによって複数回押しているからです。なぜ新しいテキストオブジェクトをページにレンダリングしないのですか?複数回クリックすると
私は基本的な何かを見逃している可能性があり、説明に感謝します。
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>
)
}
});
だから基本的に私は、全体の時間をダウンままボタンを押していますか? –
これはReactに「このvarが真ならばこの1つをレンダリングするよ」と言っているようです。このボタンをクリックするとtrueに設定されます。代わりに、このコンポーネントを 'n回レンダリングする 'のようなものです。このボタンをクリックすると' n'をインクリメントします。 – John
ああ、私は今理解していると思います。 –