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

Откуда подставляются категории в 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);
  • Вопрос задан
  • 144 просмотра
Подписаться 1 Простой 8 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Merion Academy
    Frontend-разработка на React
    4 месяца
    Далее
  • ProductStar
    React: отточите навыки интерфейсной разработки
    6 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
Берутся из 'props' которые ты пробрасываешь от родительского элемента в копонент
const { objects } = this.props;
и здесь ты его отрисовываешь
let menuNodes = data.map((item, i) => {
let nodes = item.items.map(model => (


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


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

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽