【发布时间】:2018-08-03 10:47:36
【问题描述】:
我正在尝试通过 props 传递 db 引用,但我在 Home 组件中收到 null。如果我无视承诺并取消等待,则一切正常,除非远程数据库已更新;那么由于明显的原因,需要重新加载两次才能看到更改。
我想知道如何在 prop 发送到 Home 组件之前强制执行此 Promise,或者在 Promise 完成后如何更新该 Promise。
export default class App extends Component {
state = {
db: null,
};
componentDidMount() {
this.setUpDB();
}
setUpDB = async () => {
const remoteDB = PouchDB('http://localhost:5984/db_name');
const localDB = PouchDB('db_name');
await remoteDB.replicate.to(localDB);
this.setState({
db: localDB,
});
};
render() {
return (
<div>
<Navbar />
<Switch>
<Route exact path='/' render={(props) => (
<Home
db={this.state.db}
/>
)}/>
</Switch>
</div>
);
}
}
【问题讨论】:
标签: reactjs promise pouchdb react-props