0
我使用componentDidMount來從火力點的數據,並設置與獲取數據陣營路由器
componentDidMount() {
this.state.firebase.database().ref().on("value", function(snapshot) {
let data = snapshot.val()
// Authors
this.setState({authors: data.Author})
組件狀態,則在渲染方法,我有這個
{
console.log(this.state.authors)
}
<Route path="/author/:authorId" component={AuthorPage} authors={this.state.authors} />
內AuthorPage路線道具未通過組件我有這個
render() {
console.log(this.props.route)
return (....
控制檯輸出是
Object {authorId: Object} // This is for this.state.authors
Object {path: "/author/:authorId", authors: undefined, component: function} // this is for this.props.route
正如您所看到的,this.state.authors有一個值,但在傳遞給組件作爲路由道具時變爲undefined。這從來沒有發生過我,即使在與其他路線相同的應用程序。
在'this.setState({authors:data.Author})'之前執行'console.log(data.Author)'並檢查返回的值。你有什麼錯誤嗎? –
不,狀態正確分配,我檢查了React開發工具。問題發生在路由器 –
同樣的方式在其他地方工作?我可以提出另一種解決方案。 –