Как мне динамически сгенерировать React Kendo <GridColumn />?

Я пытаюсь построить сетку кендо, используя новую библиотеку KendoReact, и мой метод рендеринга приведен ниже.

render() {
    var allColumns = this.state.data.length > 0 ? Object.keys(this.state.data[0]) : []
    var columnsToShow = allColumns.map((item,i) => <GridColumn field = {item} key = {i} />);
    return (<div> 
        <Grid
            data = {this.state.data}
        >
            {columnsToShow}

        </Grid>
    </div>
    );
}

Поскольку GridColumns должны быть определены (не автоматически), я хотел сгенерировать их динамически, то есть в строке 3 var columnsToShow. Может ли кто-нибудь помочь мне понять, почему столбцы не отображаются, но данные делает отображаются? (Я знаю, что данные присутствуют, потому что, если я определю их отдельно <GridColumn field = "Name" />, они работают.)

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
1 652
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Кажется, что приведенный выше код в порядке. При использовании динамического создания столбцов

var allColumns = this.state.data.length > 0 ? Object.keys(this.state.data[0]) : []
var columnsToShow = allColumns.map((item,i) => <GridColumn field = {item} key = {i} />);

внутри официальная демонстрация Kendo React Grid столбцы создаются успешно. Заголовки столбцов можно изменить, применив опору Title к каждому столбцу.

Другие вопросы по теме