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

Откуда подставляются категории в 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);
  • Вопрос задан
  • 141 просмотр
Подписаться 1 Простой 8 комментариев
Пригласить эксперта
Ответы на вопрос 1
Берутся из 'props' которые ты пробрасываешь от родительского элемента в копонент
const { objects } = this.props;
и здесь ты его отрисовываешь
let menuNodes = data.map((item, i) => {
let nodes = item.items.map(model => (


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


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

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

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