не уверен, что происходит, однако я пытаюсь вернуть материальный компонент пользовательского интерфейса, когда я перебираю ключи объекта, однако я продолжаю получать Unexpected token
Я разместил свой код ниже, я не уверен, почему возникает эта ошибка:
renderTableRow(subheader) {
const { data, multiHeaderBy } = this.props;
data.map((subdata) => {
if (subdata[multiHeaderBy] === subheader) {
Object.keys(subdata).forEach(key => return <TableRowColumn>scsc</TableRowColumn>);
}
return null;
});
}



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


Если вы хотите использовать явный оператор return в своей стрелочной функции, вы должны поместить тело функции в { }:
Object.keys(subdata).forEach(key => { return <TableRowColumn>scsc</TableRowColumn> });
«Простая» форма стрелочных функций без { } требует, чтобы тело функции было одним выражение, а return не был частью грамматики выражений; это отдельный тип утверждения. Вот почему это «неожиданный токен» - после => парсер ожидает либо {, либо токен, который может начать выражение.
Я не сторонник JSX, поэтому не могу сказать, сработает ли простое удаление ключевого слова return; это могло бы.
Попробуйте обернуть JSX в
(..), чтобы отличить его от сравнения