Задать вопрос

Откуда подставляются категории в sidebar (react)?

Есть проект на реакте, есть сайдбар в который подставляются категории нужно заменть название одной из категорий, так как не знаю реакт нужна помощь, если есть возможность то по teamviewer, нашел кусок кода который отвечает за рендер этого сайдбара, не могу понять откуда берутся сами категории(

class SliderSidebar extends Component {
    componentWillMount() {
        const { actions } = this.props;
        actions.fetchListIfNeeded();
    }

    componentDidMount() {
        let $el = $(findDOMNode(this));
        if ($el.height() > 514) {
            $el.addClass('short');
        }
    }

    handleShowMore() {
        $(findDOMNode(this)).removeClass('short');
    }

    render() {
        const { loading, received, objects } = this.props;

        if (loading || !received) {
            return null;
        }

        let data = objects;
        let dl_count = 0;
        let dl = data.map(item => {
            dl_count = dl_count + item.items.length;
            return item.items.length;
        });

        let dlc = dl.map(item => item / dl_count * 100);

        if (dlc.length == 2) {
            if (dlc[0] > 60) {
                dlc[0] = 60;
            }
            if (dlc[1] < 40) {
                dlc[1] = 40;
            }
        }

        let menuNodes = data.map((item, i) => {
            let nodes = item.items.map(model => (
                    <li key={'ss' + model.id}>
                        <Link to="CatalogList" params={{url: model.url}}>
                            {model.name}
                        </Link>
                    </li>
                ));

            return (
                <div key={'ssr' + item.id} style={{height: dlc[i] + '%'}} className="root-menu">
                    <p><strong>{item.name}</strong></p>

                    <div className="bottom">
                        <div className="show_more">
                            <span className="text" onClick={this.handleShowMore.bind(this)}>
                                Смотреть все категории
                            </span>
                        </div>
                        {i != data.length - 1 ? <hr/> : null}
                    </div>

                    <ul className="sidebar-menu">{nodes}</ul>
                </div>
            );
        });

        return <div className="sidebar index short">{menuNodes}</div>;
    }
}

export default connect(state => state.category, dispatch => {
    return {
        actions: bindActionCreators(actions, dispatch)
    };
})(SliderSidebar);
  • Вопрос задан
  • 145 просмотров
Подписаться 1 Простой 8 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Skypro
    React-разработчик с нуля
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Берутся из 'props' которые ты пробрасываешь от родительского элемента в копонент
const { objects } = this.props;
и здесь ты его отрисовываешь
let menuNodes = data.map((item, i) => {
let nodes = item.items.map(model => (


'ставь тут консоль и меняй'
{model.name}


));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы