Ребятушки, всем привет.
Нужна ваша помощь.
Есть вот такой компонент
import React, {Component} from 'react';
import {connect} from 'react-redux';
import Helper from './Helper';
import ProgressBar from './ProgressBar';
/**
* class declaration
*/
class DashAnalytics extends Component {
/**
* Renders "DashAnalytics component"
* @return {string} - HTML markup for the component
*/
render() {
const tags = this.props.venues.tagPollination;
const pollination = this.props.venues.pollination;
const totalUsersInTag = (() => {
let totalUsers = 0;
Object.keys(tags).forEach((key) => {
totalUsers += tags[key].totalUsers;
});
return totalUsers;
})();
const totalUsersInPollination = (() => {
let totalUsers = 0;
Object.keys(pollination).forEach((key) => {
totalUsers += pollination[key].totalUsers;
})
return totalUsers;
})();
Object.keys(tags).forEach((key) => {
tags[key].barValue = Math.round((tags[key].totalUsers / totalUsersInTag) * 100);
tags[key].barName = tags[key].tagName;
})
return (
<div className="analytics">
<div className="analitics__lside">
<div className="analitics__header">
<div className="analitics__heading">Top 5 Biggest Pollination Venue</div>
<div className="analitics__help">
<Helper />
</div>
</div>
<div className="analitics__body">
<ProgressBar colorFill='#1b75a2' collorBar='#3399cc'/>
</div>
</div>
<div className="analitics__rside">
<div className="analitics__header">
<div className="analitics__heading">Top 5 Pollination Custom Tags</div>
<div className="analitics__help">
<Helper />
</div>
</div>
<div className="analitics__body">
<ProgressBar analyticData={tags} />
</div>
</div>
</div>
);
}
}
function mapStateProps({venues}) {
return {venues};
}
export default connect(mapStateProps)(DashAnalytics);
У меня вопрос к вам:
Правильно ли я его организовал и почему функция в переменной totalUsersInTag проходит и считает норм, а в totalUsersInPollination выкидывает ошибку TypeError: Cannot convert undefined or null to object.
Структура объектов одинаковая, разница в том что первый объект я иницилизирую(с пустыми значениями) в redux, а другой нет(соответственно он сначала undefined).
Скажите пожалуйста, что нужно делать в такой ситуация, чтобы избежать подобных ошибок