[英]Reducer dispatch React Redux
I don't why my reducer in Redux doesn't want to work.我不明白为什么我在 Redux 中的减速器不想工作。 For example function setSelectedItem works, but setCity doesn't want to.
例如 function setSelectedItem 有效,但 setCity 不想。
console is logging only - ggg Bydgoszcz - or - ggg Toruń.控制台仅记录 - ggg Bydgoszcz - 或 - ggg Toruń。
mapActions.js mapActions.js
export const setSelectedItem = (item) => {
return (dispatch, getState) => {
if(!item) {
dispatch({
type: actions.SET_SELECTED_ITEM_FAILED
})
} else {
dispatch({
type: actions.SET_SELECTED_ITEM_SUCCESS,
item
})
}
}
}
export const setCity = (new_city) => {
console.log("ggg", new_city)
return (dispatch, getState) => {
dispatch({
type: actions.SET_CITY,
city: new_city
})
}
}
mapReducer.js mapReducer.js
case actions.SET_CITY:
console.log('SET_CITY', state)
return({
...state,
city: action.city
})
case actions.SET_SELECTED_ITEM_SUCCESS:
console.log('SET_SELECTED_ITEM_SUCCESS', state)
return({
...state,
selectedObject: action.item
})
case actions.SET_SELECTED_ITEM_FAILED:
console.log('SET_SELECTED_ITEM_FAILED', state)
return({
...state
})
Where I call it:我称之为:
<div className={styles.dropMenuCitesContent}>
<ol>
<li onClick={() => setCity("Toruń")}>Toruń</li>
<li onClick={() => setCity("Bydgoszcz")}>Bydgoszcz</li>
</ol>
</div>
[...]
const mapDispatchToProps = dispatch => {
return {
setCity: value => dispatch(setCity(value))
}
}
Try this one试试这个
<div className={styles.dropMenuCitesContent}>
<ol>
<li onClick={() => this.props.setCity("Toruń")}>Toruń</li>
<li onClick={() => this.props.setCity("Bydgoszcz")}>Bydgoszcz</li>
</ol>
</div>
const mapDispatchToProps = dispatch => {
return {
setCity: (value) => dispatch(setCity(value))
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.