У меня есть магазин Mobx, и я передаю это хранилище внутри провайдера, и когда я утешаю this.props, он показывает структуру хранилища Mobx.
Ниже мой магазин Mobx
import { observable, computed, action, useStrict, runInAction, toJS } from 'mobx';
// useStrict(true);
class OpenPropertiesStore {
@observable openProperties = {};
@action
fetchOpenProperties() {
fetch(`http://uinames.com/api/`)
.then(res => res.json())
.then(data => {
runInAction(() => {
this.openProperties = data;
this.name = "abhinav";
})
})
}
@computed get getOpenProperties() {
return this.openProperties;
}
}
export default new OpenPropertiesStore();
Внутри компонента я вызываю ComponentDidMount, где, если я печатаю «this.props», он показывает магазин. Но я не могу вызвать такую функцию
@inject('UserStore', 'CityStore', 'OpenPropertiesStore')
@observer
export default class Navigation extends Component {
componentDidMount = async () => {
const { CityStore, UserStore, OpenPropertiesStore } = this.props;
const data = OpenPropertiesStore.getOpenProperties();
}
}
выдает мне ошибку
YellowBox.js: 67 Возможный необработанный отказ от обещания (id: 0): TypeError: OpenPropertiesStore.getOpenProperties не является функцией TypeError: OpenPropertiesStore.getOpenProperties не является функцией
кто знает как решить эту ошибку
componentDidMount
, вы переопределяете его для этого конкретного компонента.componentDidMount = async () =>
- вы перезаписываете метод. Но нужноcomponentDidMount(){ your code here}
- person Shevchenko Viktor   schedule 29.01.2019