У меня есть компонент <Day/>
, который, естественно, является потомком компонента <Calendar/>
;
<Day/>
имеет dayInfo
проп. На данный момент я пытаюсь преобразовать данные event.target.computedName
, которые я получаю при нажатии на календарь, и передать их компоненту дня следующим образом: <Day dayInfo={event.target.computedName}/>
event.target.computedName === 'April 9, 2020'
Оттуда я бы хотел преобразовать его в JSON
объект и затем pu sh в состояние / массив в компоненте дня:
var [dayCollection, setDayInCollection] = useState([]);
So April 9, 2020 becomes:
dayCollection = [
"April-9-2020" : {} // a JSON object awaits some data about the day!!!
]
Итак, это мой компонент Day:
export default function Day({ dayInfo }) {
var [dayCollection, setDayInCollection] = useState([]);
useEffect(() => {
console.log('dayInfo ', dayInfo);
if (!dayInfo in dayCollection) {
setDayInCollection(
dayCollection.concat(
JSON.parse(
JSON.stringify(
dayInfo
.split(' ')
.map((item) => {
if (item.indexOf(',')) return item.replace(/,/g, '');
})
.join('-')
)
)
)
);
} else {
console.log('do nothing');
}
}, [dayCollection]);
console.log('dayCollection ', dayCollection);
/* rest omited for brevity */
}
I Полагаю, у меня есть преобразование «9 апреля 2020 года» в «9 апреля 2020 года», как я его записал, но проверка состояния dayCollection
/ непрерывно дает []
Так как же Я проверяю, существует ли этот объект JSON
в состоянии компонента Day, и добавляю его, если он не создает объект JSON
, и конкатирую его в состояние?
Заранее спасибо!