Paul
Paul

Reputation: 31

how to update inner array of objects in react use state

 {moduleCode: ‘xxx, moduleName: ‘xxxx’, subModules: Array(4), features: Array(2)}

when I tried the below code is working

setNewSelectedModules(prev => [
    ...prev,
    { moduleCode: e.target.id, moduleName: e.target.value }
]);

I'm not able to update the inner array But pls guide me on how to update subModules, which is an inner array of objects ->

suModules:[{moduleCode: ‘xxx, moduleName: ‘xxxx’}]

Upvotes: 0

Views: 80

Answers (1)

Amila Senadheera
Amila Senadheera

Reputation: 13265

You can achieve it using map. Update the "some-condition" as per your scenario.

setNewSelectedModules(prev => ({
    ...prev,
    subModules: prev.subModules.map((item) => {
        if("some-condition"){
            return {
                ...item,
                moduleCode: e.target.id,
                moduleName: e.target.value
            };
        } else {
            return item
        }
        
    })
}));

Upvotes: 1

Related Questions