2016-12-10 3 views
0

Я пытаюсь использовать динамическое имя для свойства объекта.Использование переменных в качестве имен объектов в реакции native

Например, в приведенной ниже функции я хочу использовать значение переменной 'catagoryId', чтобы получить дочерний элемент, который приводит к значению переменной catagoryId. Например, если catagoryId = book. Я хочу, чтобы последняя строка была разрешена для «endAtObject.orderValues.book».

 export const feedFetch = (catagoryId, endAtObject) => { 
     endAtObject.orderValues.<<<catagoryId>>> 
     } 

Как это сделать? Любая помощь будет высоко оценена!

+0

, если я что-то не хватает, это простые JS: 'endAtObject.orderValues ​​[CategoryId]' – drewmoore

+0

Если я сделайте это, я получаю неожиданную ошибку токена. В основном мой объект endAtObject имеет дочерний элемент с именем orderValue и имеет разные дочерние элементы с разными именами. В примере я пытаюсь добраться до ребенка по имени book. –

+0

Комментарий drewmoore - правильный способ сделать это. Просто убедитесь, что значения порядка - это объект, а не строка или массив JSON и т. Д. – eden

ответ

1

Что вы ищете, это «вычисленные имена свойств». Это сделает работу.

export const feedFetch = (catagoryId, endAtObject) => { 
    endAtObject.orderValues[catagoryId] 
} 

Вы можете найти более подробную информацию на https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Object_initializer (CMD + F "вычисляемых имена свойств")

Смежные вопросы