Я пытаюсь добавить массив в существующий массив, используя реакционные хуки. Единственная проблема, которая у меня есть, - все, что я пытаюсь, не заполняет массив ...
const [ residenceFinal, setResidenceFinal ] = useState([]);
Я создал значение здесь, и ниже я пытаюсь добавить существующий массив в ResidenceFinal.
const predefinedMenuItems = {
residences: {
closeOnClick: false,
setActiveOnClick: true,
tooltip: "Residences",
content: <i className='fas fa-city'/>,
onClick: () => {
dispatch(getValue(value));
},
getContent: (controlledEntity) => {
const divTitle = "Residence info";
let res = controlledEntity.info;
const {data} = res;
let residencesInfo = [];
_.isArray(data) ? residencesInfo = data : residencesInfo.push(data);
let resiFinal = residencesInfo.map(function(el) {
var o = Object.assign({}, el);
o.isActive = false;
return o;
})
setResidenceFinal(resiFinal);
return <div className="open-data-information-drawer-item residences">
<h1>{divTitle}</h1>
<div className="open-data-item-information-container">
{residenceFinal.map((residence, idx) => {
return <div className={"open-data-item-information-container-item "+ (residence.isActive ? 'active' : '') + " item-" + idx} onClick={ (e) => onClickIdentification(residence, idx)} key={idx}>
{getOpenDataLi(residence, "identificatiecode")}
{getOpenDataLi(residence, "status")}
{getOpenDataLi(residence, "oppervlakte")}
}
</div>;
})}
</div>
</div>;
}
}
}
Итак, я пробовал множество вариантов, чтобы добавить resiFinal к ResidenceFinal (имя изменится, когда я исправлю это, кстати), но каждый раз, когда я проверяю, ResidenceFinal все еще пуст ...
Может ли кто-нибудь помочь мне?
Редактировать: добавлено, где используется getContent.
const [ drawerContent, setDrawerContent ] = useState(<div></div>);
function handleClick(index, e) {
const selectedMenuItem = menuItems.find(m => m.id === index);
setDrawerContent(selectedMenuItem.getContent(openData));
}
<List.Item >
<div key={predefinedMenuItemId} onClick={ e => handleClick(predefinedMenuItemId, e)} className={isMenuItemActive ? 'list-item list-item-' + predefinedMenuItemId : 'list-item list-item-' + predefinedMenuItemId }></div>
</List.Item >