Попробуйте добавить инъекцию непосредственно в компонент TableComponent для решения без сохранения состояния:
@inject("store")
@observer
class FlipScrollTable extends React.Component {
componentDidMount() {}
render() {
var { columns, header } = this.props;
var { array } = this.props.store;
const classes = {};
return (
<table>
<thead>
<tr>
{columns.map((column, i) => {
var { header, headerStyle } = column;
return (
<th key={i} style={headerStyle}>
{header}
</th>
);
})}
</tr>
</thead>
<tbody>
{array.map(row => {
var tableCells = columns.map(column => {
var { accessor, id, Value } = column;
var value = _isFunction(accessor)
? accessor(row)
: _get(row, accessor);
var renderedValue = normalizeComponent(
Value,
{ value, row },
value
);
return (
<td key={_isFunction(accessor) ? id : accessor}>
{renderedValue}
</td>
);
});
return <tr key={row.id}>{tableCells}</tr>;
})}
</tbody>
</table>
);
}
}
Применительно к вашей песочнице кажется, что вы пытаетесь изменить компонент после его рендеринга; где вы должны повторно визуализировать компоненты непосредственно из наблюдаемых изменений массива.