Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 减速机_Reactjs_Redux - Fatal编程技术网

Reactjs 减速机

Reactjs 减速机,reactjs,redux,Reactjs,Redux,我不知道为什么我的Redux减速机不想工作。 例如,函数setSelectedItem起作用,但setCity不想这样做 控制台仅记录-ggg Bydgoszcz-或-ggg Toruń mapActions.js export const setSelectedItem = (item) => { return (dispatch, getState) => { if(!item) { dispatch({

我不知道为什么我的Redux减速机不想工作。 例如,函数setSelectedItem起作用,但setCity不想这样做

控制台仅记录-ggg Bydgoszcz-或-ggg Toruń

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

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
    })
我称之为:

        <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))
    }
}
试试这个

   <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))
        }
    }