Как использовать функцию стрелки внутри функции Array.map () с реакцией - PullRequest
0 голосов
/ 01 марта 2019

Я использовал функцию map во всем своем приложении реагирования, но всегда передавал фактический объявленный метод.В настоящее время я пытаюсь заставить встроенную функцию стрелок работать в качестве повторителя.Вот код, который я пытаюсь запустить внутри моей функции рендеринга:

    <DropdownButton id='some-id' title={this.state.myId}>
        {Object.keys(this.state.EMPTPS).map(
            k => (
                <Dropdown.Item key={k} eventKey={k}>{this.state.EMPTPS[k]}</Dropdown.Item>
            )
        )}
    </DropdownButton>

Итак, я пытаюсь перебрать набор ключей объекта, который я создал в своем объявлении состояния, и использоватьзначения в качестве значения кнопки и ключи в качестве eventKey, и ключ.Вот мой объект в состоянии:

    EMPTPS: {
        'KEY1': 'Value1',
        'KEY2': 'Value2',
        'KEY3': 'Value3'
    }

Всякий раз, когда этот код запускается, я получаю ошибку «Недопустимый тип элемента» из реакции, поэтому, очевидно, что-то здесь не так.Я уверен (и надеюсь), что это просто простая синтаксическая ошибка с моей стороны, но, учитывая то, что я все еще довольно новичок в ES6 и реагирую в целом, помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Ну, это было совершенно не связано с синтаксисом.Хорошие новости - это правильный код.Моя проблема заключается в версии реакции-начальной загрузки и начальной загрузки, которая есть в моем приложении.Из-за размера и характера приложения я не могу выполнить обновление до версии v4.x, которая необходима для запуска bootstrap-react@1.0.0-beta.5 (кажется, что элемент Dropdown.Item не работает внеэта версия), насколько я был в состоянии сказать.В любом случае, глупая проблема с глупым решением.Спасибо за предложения всем.

0 голосов
/ 01 марта 2019

Вы могли бы использовать синтаксис, который вместо этого использует оператор return, иногда я был там и пытался это решить проблему.Я только что добавил скобки после стрелки, чтобы обернуть логику внутри итерации и вернуть элемент в конце.

 <DropdownButton id='some-id' title={this.state.myId}>
        {Object.keys(this.state.EMPTPS).map( k => {
             return <Dropdown.Item key={k} eventKey={k}>{this.state.EMPTPS[k]}/Dropdown.Item>
            }
        )}
    </DropdownButton>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...