我公司目前已经具有与查询参数的链接在我作出反应的应用程序设置路由器:阵营路由器PARAMS变化触发火力查询
<Router history={hashHistory}>
<Route path="/" component={Home} />
<Route path="/details/:id" component={Details} />
</Router>
我想要做的就是查询我的火力点数据库,当用户导航到详细信息页面(即/details/123
)。此代码在Details
部分将是:
const id = this.props.params.id;
const rootRef = firebase.database().ref();
rootRef.orderByChild("id").equalTo(id).on("child_added", function (snapshot) {
this.setState({
user: snapshot.value()
});
});
我会在哪里把那个查询火力数据库的代码?我会认为它不应该进入渲染方法,因为它不属于那里,因为我正在设置状态 - 这是正确的吗?我试过使用componentWillReceiveProps
生命周期功能,但似乎并没有被调用 - 我误解了生命周期以及路由器如何工作?
梦幻般的答案。谢谢。 –