Это может быть анти-шаблон, но я использую таблицу фиксированных данных для отображения таблиц с изменяющимися столбцами. Функция изменения размера изменяет ширину каждого столбца в зависимости от изменения состояния. Однако мне нужно построить состояние или столбцы из полученных реквизитов. Я не могу обновить состояние с помощью функции рендеринга. Есть ли лучший способ сделать это? Моим лучшим решением до сих пор было сгенерировать ширину состояния до 100, но это временно.
constructor(props) {
super(props);var columnWidths ={
recordid: 40,
};
for(var i=0; i<100;i++) {
columnWidths[i]=200
}
this.state = {
columnWidths
};
this._onColumnResizeEndCallback = this._onColumnResizeEndCallback.bind(this);
}
_onColumnResizeEndCallback(newColumnWidth, columnKey) {
this.setState(({ columnWidths }) => ({
columnWidths: {
...columnWidths,
[columnKey]: newColumnWidth,
}
}));
console.log(newColumnWidth + " " + columnKey)
}