В Redux при передаче состояния и отправки от компонента через соединение необходимо использовать некоторые значения состояния внутри отправки при нажатии кнопки (которая генерируется картой).
Я обошел значение внутри тега кнопки значением, но это не похоже на разумный способ сделать это, и он допускает только одно состояние. Здесь есть какая-то концептуальная ошибка?
import React from 'react'
import { connect } from 'react-redux';
import { manageGold, addEnhancement } from '../actions/actions'
const mapStateToProps = (state) => {
return {
enhancements: state[0].enhancements
}
}
const mapDispatchToProps = dispatch => {
return {
manageBuyEnhancement: (event) => {
dispatch(addEnhancement(/* Pass Enhancement Here */))
dispatch(manageGold(event.target.value))
}
}
}
function Enhancements(props) {
return (
<div>
<h4>Enhancements</h4>
{props.enhancements.map(enh =>
<div key={Math.random()}>
<p>{enh.enhancementName}</p>
<p>Price: {enh.enhancementPrice}</p>
<p>Qty: {enh.enhancementQty}</p>
<button onClick={props.manageBuyEnhancement} value={enh.enhancementName}>Buy!</button>
</div>
)
}
</div>
)
}
export default connect(
mapStateToProps,
mapDispatchToProps,
null,
{
pure: false
}
)(Enhancements)