我是React新手,很久以來一直在使用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))}
就像我上面附上的那樣,它是一系列divs的循環。我試圖簡單地切換具有onClick函數的div的兄弟div。然而,到目前爲止我所得到的是函數handleToggle將切換在map函數下生成的所有div。切換功能如下:
handleToggle: function() {
if (this.state.active) {
this.setState({
active: false
})
} else {
this.setState({
active: true
})
}
},
不確定下一步該怎麼做。你們能給我一些見解嗎?
你是什麼意思'toggle'所有DIV的意思。你在做什麼狀態'active'被修改? – Panther
@Panther正如你所看到的,在1父母中有2個div。第一個子div有一個onClick,我試圖使用該div(作爲一個按鈕)切換下一個孩子(兄弟姐妹)。活動狀態只是一個處理程序來修改顯示/隱藏 – Yuhao
你可以同時打開多個'child' div嗎? – Panther