Я получил:
Ошибка: [mobx-state-tree] ожидал тип mobx-state-tree в качестве первого аргумента, получил класс HubConnection {constructor (urlOrConnection, options = {}) {options = options || {};
При попытке сделать это:
import { HubConnection } from '@aspnet/signalr-client';
.model('MyStore', {
connection: types.optional(HubConnection, new HubConnection('http://localhost:5000/myhub')),
})
Я мог бы объявить его в конструкторе моего компонента React вместо того, как раньше
constructor(props){
super(props);
this.connection = new HubConnection('http://localhost:5000/myhub');
}
но тогда все прикрепленные обработчики событий также должны быть определены в компоненте
componentDidMount(){
this.connection.on('Someaction', async(res: any) => {});
}
и запуск / закрытие соединения
handleBtnClicked = () => {
this.connection.start().then(() => self.connection.invoke('Someotheraction'));
}
и в идеале я думаю, что это относится к модели и действиям модели, поэтому компонент реакции запускает только действия в модели и ничего более.
Есть ли способ хранить другие типы, кроме mobx-state-tree, в моделях mobx-state-tree, можете ли вы как-то обернуть его в тип mobx, или это на самом деле не то, что принадлежит mobx и, следовательно, намеренно.