Итак, у меня есть компонент Navigation, который отображает список, дерево навигации выбирается с сервера через useEffect, а реквизиты обновляются.В моем хранилище redux я вижу правильные значения, и даже когда я делаю console.log из navTree prop, я сначала получаю undefined, а затем ожидаемый объект, однако мой компонент не рендерится.
Может кто-нибудь пролить свет на то, что мне не хватает.
const Navigation = ({navTree, initializeNavigation}) => {
const [initialized, setInitialized] = useState(false);
useEffect(() => {
if (!initialized) {
initializeNavigation();
setInitialized(true);
}
}, [initialized, initializeNavigation]);
console.log(navTree);
if (navTree) {
return (
<React.Fragment>
{Object.keys(navTree).map(
key => {
console.log(key);
console.log(navTree);
if (navTree) console.log(navTree[key]);
return (
<List key={key}>
<ListItem>
{key.toUpperCase()}
</ListItem>
<Divider/>
{navTree && navTree[key] && Object.keys(navTree[key]).map((entity) => (
<ListItem button key={entity}>
<ListItemText primary={entity.toUpperCase()}/>
</ListItem>
))}
</List>)
}
)}
</React.Fragment>
);
}
return null;
};
const mapStateToProps = state => ({
navTree: selectors.getNavTree(state)
});
const mapDispatchToProps = dispatch => ({
initializeNavigation: () => dispatch(actions.buildNavigationTree())
});
export default connect(
mapStateToProps,
mapDispatchToProps
)(Navigation);