【发布时间】:2021-02-04 01:33:17
【问题描述】:
我正在尝试在 React 的另一个组件中渲染组件。 我不明白为什么在提取完成时 optionwrapper 不呈现。 如果有人可以解释为什么它不起作用,那将是完美的
const SearchResults = () => {
useEffect( () => {
GlobalStore.setOptions();
}, []);
return(
<div className={styles.column}>
{
GlobalStore.getOptions.result=='OK' &&
<OptionWrapper options={ GlobalStore.options.data.body} />
}
</div>
)}
我在商店里有这个
import { observable, makeObservable, action, computed, toJS , configure } from 'mobx';
configure({
useProxies: "never"
})
class MainStore {
options = new Object;
constructor() {
makeObservable(this, {
options: observable,
setOptions: action,
getOptions: computed,
})
}
setOptions() {
fetch(http)
.then((response) => response.json())
.then((data) => {
this.options = data
console.log(this)
})
.catch(error => console.log(error))
}
get getOptions() {
return toJS(this.options);
}
}
const GlobalStore = new MainStore;
export default GlobalStore;
我不知道为什么它不起作用
【问题讨论】:
-
如果你在你的组件上使用observer,它会起作用吗?