Мне нужно динамическое значение опоры для реакции. У меня уже есть список фруктов, но значение свойства должно быть Fruits[0] + ‘prop’

Например: ApplesProp

index.js

const ApplesProp = { Name: "Green", Age: 34 }
const Fruits = ["Apples", "Pears", "Oranges"]
<App prop={dynamic-fruit+'Prop'} />

Пытался

<App prop={Fruits[0]+'Prop'}/>

но это приводит к передаче строки: «ApplesProp», а не объекта ApplesProp (т. е. Name: Green, Age: 34).

— — — — — — — — Ответ 1 — — — — — — — — —

Чтобы выполнить вышеуказанную задачу, вам нужно создать объект с фруктами в качестве ключей и реквизитами в качестве значений.

const AppleProps = {Name : "Green }
const Fruits = {"Apples", "Banana"}
const FruitsAndProps = {
 Apples: AppleProps
}

— — — — — — — — Ответ 2— — — — — — — — —

Вам нужно рассмотреть возможность передачи вашей динамической строки внутри обратных кавычек => `` вместо кавычек и использовать метод eval() для преобразования вашей строки в переменную (чтобы IDE знала, что вы имеете в виду переменную, а не строку). Результат должен выглядеть так:

const ApplesProp = { Name: "Green", Age: 34 }
const Fruits = ["Apples", "Pears", "Oranges"]
console.log(eval(`${Fruits[0]}Prop`))
//the console returns an object. so passing it through props should be fine.
<App prop={eval(`${Fruits[0]}Prop`)}/>

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

Если у вас есть идеи получше, пожалуйста, запишите