I am trying to setState of an Array of objects when component load. state of the component is:
const [weekdays, setWeekdays] = useState([{
day: 'S',
fullName: 'Sunday',
select: false
},
{
day: 'M',
fullName: 'Monday',
select: false
},
{
day: 'T',
fullName: 'Tuesday',
select: false
},
{
day: 'W',
fullName: 'Wednesday',
select: false
},
{
day: 'T',
fullName: 'Thursday',
select: false
},
{
day: 'F',
fullName: 'Friday',
select: false
},
{
day: 'S',
fullName: 'Saturday',
select: false
}])
The array which I am trying to setState is: data
I am trying in this way to setState when page loads:
useEffect(() => {
{
(data?.length > 0)
?
setWeekdays([weekdays => (
{
...weekdays,
...data?.map((item) => { return { day: item.day, fullName:item.fullName, select:true } }),
})])
:
setWeekdays([...weekdays])
}
}, [data]);
Thanks...