私はここでは全く新しい初心者です.Jqueryを使って長い間作業しています。だからこそReact/Reduxスタイルを使うことができます。ReactJS子要素が1つのコンポーネントの子要素を操作する
私は子供の要素で立ち往生しているしばらくの間、別の子の要素の機能を処理してみてください。
{this.state.stocks.map(function(data, index) {
return (
<div className={"list-group-item list-group-item-action flex-column align-items-start"} key={index}>
<div className={"d-flex w-100 justify-content-between"} onClick={this.handleToggle}>
<h5 className="mb-1">
<span className={styles.symbolTitle}>Stock Symbol:</span> <span className={styles.symbolName}>{data.symbol}</span> ${data.price}
<button type="button" className={"btn btn-outline-primary btn-sm "+ styles.btnTrans +""} >more...</button>
</h5>
<small>
{this.state.shares}
<span className={styles.colorGrey}>shares</span>
<button type="button" className={"btn btn-outline-success btn-sm "+ styles.btnTrans +""} onClick={this.handleBuy}>Buy</button>
<button type="button" className={"btn btn-outline-danger btn-sm "+ styles.btnTrans +""} onClick={this.handleSell}>Sell</button>
</small>
</div>
<div className={stateStyle}>
<small>Open Price: {data.open}</small>
<small>Highest Price: {data.high}</small>
<small>Lowest Price: {data.low}</small>
<small>All Price: {(data.low + data.high).toFixed(2)}</small>
<small>Volume: {data.volume}</small>
<small>Average Volume: {data.average_volume}</small>
<small>Volatility: {data.volatility}</small>
</div>
</div>
)
}.bind(this))}
上記のように、divの一連のループ。私は、onClick関数を持つdivの兄弟divを簡単に切り替えることを試みています。しかし、これまでのところ、handleToggle関数はmap関数の下で生成されたすべてのdivをトグルする関数です。トグル機能は次のとおりです。
handleToggle: function() {
if (this.state.active) {
this.setState({
active: false
})
} else {
this.setState({
active: true
})
}
},
次に何をするのかわかりません。あなたは私にいくつかの洞察を教えてもらえますか?
あなたは 'すべてのdiv toggle'によって何を意味しています。変更された状態の「アクティブ」は何をしていますか? – Panther
@Pantherご覧のとおり、1つの親に2つのdivがあります。最初の子divはonClickを持ち、私はそのDivをボタンとして使って次の子(兄弟)をトグルしようとしていました。アクティブ状態は、表示/非表示を変更するためのハンドラです。 – Yuhao
複数の 'child' divを同時に開くことができますか? – Panther