Причина очень проста - BootstrapTable
компонент реагирования не предназначен для наблюдения за изменениями mobx (атрибут @observer не помещен в него).
Таким образом, в качестве обходного пути вы можете добавить скрытые поля в свой компонент с помощью все данные, которые вы хотите наблюдать:
@observer
class ProductList extends React.Component {
render() {
return
<>
<span className="hidden">{this.props.store.data.length}</span>
<span className="hidden">{this.props.store.data.map(x=>{{x.someProp1, x.someProp2, x.someProp3}})}</span>
<BootstrapTable
keyField="id"
data={this.props.store.data}
...
/>
</>
}
}
В приведенном выше примере рендеринг таблицы будет выполнен на:
- Изменение количества элементов данных хранилища
- Изменение
someProp1, someprop2, someProp3
в любом элементе хранилища данных
Я знаю, что это немного странно, но библиотека, которую вы используете, имеет это ограничение, которое вы должны обойти