Слишком много контейнерных компонентов в Redux (номер n, где n неизвестно), беспокоитесь о производительности? - PullRequest
0 голосов
/ 18 сентября 2018

Я создаю веб-приложение, где оно будет иметь сообщения, пользователь может комментировать эти сообщения, а сообщения могут иметь ответы, и у меня есть <Newsfeed /> Контейнерный компонент для извлечения всех сообщений через API (я использую избыточность для хранилища данных), но проблема в том, что теперь мне придется передавать слишком много данных подкомпонентам, поэтому я подумаю, что должен создать компоненты контейнера <CommentListContainer /> и <ReplyListContainer />, поэтому в <Post /> компоненте мне придется передавать основную информацию о постеи тогда сообщение может иметь <CommentListContainer postId={post_id} /> внутри, а <Comment /> может иметь <ReplyListContainer commentId={comment_id}/>, потому что мои данные нормализованы в избыточном ex: -

entities : {
    "users" : {
        "byIds" : {
            "id" : { 
                // basic info
                "comments" : [4, 5, 6],
            }
        }  
    },
    "comments" : {
        "byIds" : {
            "id" : {
                "replies" : [1, 2, 3] // etc
            } 
        }
    }
    ... same replies
}  

, поэтому это должно быть легко, но меня беспокоит слишком много контейнерных компонентов :), поскольку лента новостей может содержать 50 сообщений, а если в каждом сообщении будет 5 комментариев, то будет 250 контейнерных компонентов, будут ли проблемы с производительностью из-за слишком большого количества контейнерных компонентов?, но преимущество этого подхода в том, что его очень просто реализовать, поэтому я хочу знать, какой из них лучше и в больших приложениях(как это обычно делается для большинства приложений), как они это делают?

1 Ответ

0 голосов
/ 18 сентября 2018

По словам Дана Абрамова, у вас будет лучшая производительность при подключении () - больше контейнеров к хранилищу редуксов: https://github.com/reduxjs/redux/issues/419#issuecomment-129188175

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...