1

I am working on a react project and using redux for state management.I want to update values in an array using index but initially the array is empty.

How can I do it?

I am doing this:

case Actions.UPDATE:
      return {
        ...state,
        defaultCodeList: state.defaultCodeList.map((code, index) => (index === action.index ? {
          code_sys_id: state.masterName, code_sys_cat_id: state.codeSystem, [`${state.codeSystem}_description`]: action.description,
        } : codeset)),
      };

Initailly defaultCodeList:[] and on pressing of a button I am triggering this action. I want to put the above object on that particular index when the index matches.

Any leads on this?

1 Answer 1

1

Create a new array set the index of the array identical to the action's index to the object value. This would set all other indexes to undefined. ou then can now set the undefined values in the array to codeset when assigning it to defaultCodeList

case Actions.UPDATE:
    const newDefaultCodeList = [...state.defaultCodeList];
    newDefaultCodeList[action.index] = {
        code_sys_id: state.masterName, code_sys_cat_id: state.codeSystem, [`${state.codeSystem}_description`]: action.description,
    } // this sets the remaining values at other indexes to undefined
    return {
        ...state,
        defaultCodeList: newDefaultCodeList.map((code, index) => (index !== action.index && codeset)),
    };
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.