Как использовать глобальное значение при чтении вложенных карт из объекта JSON - PullRequest
0 голосов
/ 10 июля 2020

Здравствуйте, я читаю такой объект ответа JSON.

<td className="text-right flex">
     {finance.statuses.map((statuses) => {
     return statuses.currencyAmounts.map((amounts) => (
        <span className="pr-8" key={amounts.currencyId}>{amounts.maxGambleAmount}</span>
     ));
 })}
</td>

Он работает хорошо, но мне нужно привязать аббревиатуру валюты из массива глобальных переменных за каждым значением с индексом количества .currencyId , моя проблема в том, что я не могу получить доступ к этим валютам внутри внутренней карты.

Я пробую что-то вроде этой валюты [amount.currencyId], но безуспешно.

Может кто-нибудь Помоги мне? Спасибо

1 Ответ

1 голос
/ 10 июля 2020

На основании вашего комментария ваша переменная currencies присутствует в вашей функции mapStateToProps. Если есть mapStateToProps, вероятно, вы будете использовать библиотеку redux. Если это так, я настоятельно рекомендую вам потратить некоторое время на ознакомление с ним.

Но вернемся к вашей проблеме , обычно mapStateToProps возвращает объект, и все свойства такого объекта должны быть доступны в props вашего компонента. Если у вас уже есть currencies, доступный в вашей функции mapStateToProps, вы можете просто добавить его в оператор return, это будет примерно так:

function mapStateToProps(state) {
    return {
        // this should make your "currencies" object/map available in the props of your component:
        currencies: state.currencies,
    };
}

// In your component you should have the "props" available as the parameter,
// you just have to access it now:
<td className="text-right flex">
     {finance.statuses.map((statuses) => {
     return statuses.currencyAmounts.map((amounts) => (
        <span className="pr-8" key={props.currencies[amounts.currencyId]}>{amounts.maxGambleAmount}</span>
     ));
 })}
</td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...