Я создавал довольно обширное приложение с React, Redux и Normalizr, но боролся с чрезмерным количеством избыточных циклов рендеринга, и теперь думаю, что, возможно, неправильно понял, как объединить mapStateToProps
и Normalizr.
В моем mapStateToProps
я ссылаюсь на весь определенный тип сущности, который затем я могу использовать для получения сущности по ее идентификатору:
function mapStateToProps(state) {
return {
allMilestones: state.account.entities.milestones,
allTasks: state.account.entities.tasks,
}
}
Используя вышеприведенное mapStateToProps
всякий раз, когда мне нужно получить сущность, я могу просто пойти (например) const taskObject = this.props.allTasks[taskId]
.Быстро и удобно, но я понимаю, что это означает, что вокруг пропадает много реквизитов - я думал, что передача ссылок не будет большой проблемой, но потом я заметил, что все перерисовывается просто, все время.
Будет ли это вероятным виновником неоправданного количества циклов рендеринга?
Если так, могу ли я ожидать, что реализация Reselect для всех этих случаев положительно повлияет на производительность?