Реактивный компонент не рендерится, когда реквизит от обновления магазина редукса - PullRequest
1 голос
/ 16 мая 2019

Итак, у меня есть компонент 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...