Мое приложение вылетает из-за второй части этого оператора рендеринга c is not defined (после запятой в ответ).
Я хочу визуализировать не только этот элемент как компонент CategoryTreeFork, но также визуализировать его дочерние элементы как один и тот же компонент.
Я делаю ошибку, пытаясь получить доступ к этой переменной?
<div className = "categories-narabikae">
<p>Displayed Categories </p>
{
filterActiveCategories(categories).map((c, idx) =>
<CategoryTreeFork
key = {idx}
parentCat = {null}
thisCat = {c}
level = {1}
dropEvent = {this.handleDropEvent}
/>
,
c.children
? c.children.map( (c2, idx) =>
<CategoryTreeFork
key = {idx}
parentCat = {c}
thisCat = {c2}
level = {2}
dropEvent = {this.handleDropEvent}
/>
)
: null
)
}
</div>
Редактировать: похоже, что во время первого рендеринга страницы массив, который я отображаю, пуст (еще не получил категории из API) - может ли это вызвать ошибку?
Неужели нет? Я думал, вы можете сделать return (val1, val2) в ES6. Я должен избегать рекурсивных компонентов в этом, поэтому я думаю, что мне придется подготовить данные в моем массиве с дополнительными атрибутами, чтобы получить желаемый эффект с помощью родственных компонентов.
I thought you could do return (val1, val2) in ES6 Можно, но не так с React. См. Оператор запятой. (отбрасывает все, кроме последнего)
@CertainPerformance Ого, это действительно полезно, я никогда не понимал, как его используют. Ну, в значительной степени отвечает на мой вопрос, если вы хотите его отправить.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


it looks like during the first render of the page the array that I am mapping is empty (has not yet retrieved categories from API) -- would this possible trigger the error?
Вы (случайно) используете оператор запятой:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator
The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand.
Итак, первый CategoryTreeFork будет проигнорирован интерпретатором; Фактически будет использоваться только последнее значение в списке, разделенном запятыми.
Вы не можете вернуть несколько значений из функции в JS. Судя по предоставленному вами коду, похоже, что вы пытаетесь выполнить рекурсивный рендеринг. Я бы предложил вызывать
CategoryForkрекурсивно, каждый раз передавая новые дочерние элементы в качестве опоры.