让我定义我的用例,这样会更容易解释。
我在用这个包裹
localforage-observable
,基本上是通过
localForage.newObservable()
每当本地饲料中的项目发生更改时激发。
然后我有一个
recompose
临时的,
mapPropsStream
,它接受这个可观察的值并将该值传递到包装的组件中。
const withLocalForage = mapPropsStream((props$) => {
return props$.pipe(
combineLatest(localForage.newObservable(), (props, lf) => {
return { ...props, lf };
})
);
});
export default withLocalForage
所以在我的反应部分,我是
import './withLocalForage';
@withLocalForage
class MyComp extends React.Component {
render() {
return <div>{JSON.stringify(this.props.lf)}</div>
}
}
这是可行的,除了一个问题:
Currently localForage Observables should only be created after localforage.ready()
(当地饲料观察医生)。
唯一的问题是,在应用程序加载时,
本地饲料.newObservable()
没有定义;只有当我定义
localForage.ready().then(() => { /* do something with localForage.newObservable() */})
我希望这篇文章的标题现在更清楚了:在我的案例中,我如何定义
withLocalForage
异步的HOC,所以它只在
localForage.ready()
?