У меня есть компонент, который подключен к магазину с помощьюact-redux (для простоты я сократил код):
const Address = (props) => {
const { userAddresses, removeAddress } = props
let { showEdit } = props
return (
<div>
{userAddresses.map(address => (
<div key={address.id}>
<p>{address.name}</p>
<Button onClick={removeAddress.bind(this, address)}>Delete</Button>
</div>
))}
<Button
onClick={() => { showEdit = true }}>
Add new
</Button>
{showEdit ? (
// show some edit stuff here!!!
): null}
</div>
)
}
const mapState = state => {
return {
userAddresses: state.account.userAddresses,
showEdit: false
}
}
const mapDispatch = (dispatch) => {
return {
addAddress: address => dispatch(addUserAddress(address)),
removeAddress: address => dispatch(removeUserAddress(address)),
}
}
export default connect(mapState, mapDispatch)(Address)
Когда вы нажимаете кнопку (Add new
), должна появиться форма (помеченная как show some edit stuff here!!!
). Я знаю, что это легко сделать, если бы Address
был компонентом состояния. Тем не менее, мне нужно использовать react-redux
, и, насколько я знаю, вы должны использовать компонент без состояния, чтобы использовать react-redux
. Кто-нибудь может указать мне правильное направление?