在redux中管理ID为多个列表项的状态

时间:2018-06-03 06:39:37

标签: reactjs redux

每当我点击列表项时,我在DOM中有多个列表项我调用该特定项的API并将其存储在我的Redux存储中,当我单击DOM中的另一项时,我将它添加到我的数组中的redux存储区

我面临的问题是,当我再次点击相同的列表项时,我不想再次点击API我想显示已经存储在我的redux商店中的特定列表项的数据我应该怎么做?

我的减速机代码

import * as actionTypes from '../actions/actionTypes';

const initialState = {
    fareRules: [],
    error: false
};

const reducer = (state = initialState, action) => {
    switch(action.type) {
        case actionTypes.SET_FARE_RULES:
            return {
                ...state,
                fareRules: [
                    ...state.fareRules,
                    {
                        id: action.id,
                        rules: action.fareRules[0][0]
                    }
                ]
            }
        case actionTypes.GET_FARE_RULES_FAILED:
            return {
                ...state,
                error: true
            }
        default:
            return state;
    }
}

export default reducer;

1 个答案:

答案 0 :(得分:1)

在处理项目点击的处理程序中,您需要检查商店的票价规则是否已存在于商店中(您的组件需要有权访问商店)。

如果该项目的票价规则不存在,请添加它们(触发相关操作),否则显示它们。