0
我一直在嘗試各種方法來顯示來自React模板中流星提取的數據。我不完全明白爲什麼這很難做到。用React /流星應用程序顯示用戶數據
當我在模板中使用getMeteorData它不使用{} this.data.user._id使用時,當componentDidMount
顯示數據
getMeteorData() {
return {
user: Meteor.user()
};
},
這是同樣的故事。
我按照流星網站上的反應&流星教程,他們使用道具。然而,這對於簡單地提取和提取數據感到很多工作。
這是企圖
export var MenuLoggedIn = React.createClass({
displayName: 'MenuLoggedIn',
mixins: [
Router.State, Router.Navigation
],
getMeteorData() {
return {
user: Meteor.user()
};
},
getInitialState(){
return {
avatarImagePreview: null,
avatarImage: null
};
},
render: function() {
return (
<div className="container">
<div className="menu-structure col-md-12">
{this.data.user._id}
<div className="left-menu pull-left">
<img className="logo" src="/img/logo.png"/>
<h1 className="eventburger-title">eventburger</h1>
</div>
<div className="right-menu">
<div className="search-bar">
<i className="fa fa-search"></i>
<input type="text" name="Search" placeholder="Harpist, Photographer, Caterer..."/>
</div>
{this.data
? <img src="/img/avatar.png"/>
: <img src="/img/placeholder-person.jpg"/>}
<span>{this.data}
Feeney</span>
<a href="/app/inbox">
<i className="fa fa-envelope"></i>
</a>
<a className="head-spacing" href="#" onClick={this.logout}>LOG OUT</a>
</div>
</div>
</div>
);
},
logout: function(e) {
e.preventDefault();
Meteor.logout();
window.location.href = "/login"; //Need to be moved to History
}
});
控制檯中的任何錯誤?我會懷疑'data.user'是'null',直到Meteor實際上獲得websocket身份驗證並將用戶數據發送到客戶端。 – MasterAM
沒有錯誤。它會在控制檯中記錄data.user。我需要重新渲染嗎? – Allreadyhome
很難說沒有看到你正在使用的實際代碼(不知道在哪裏發生日誌記錄 - 如果它在'render()'方法中正確記錄,那應該沒有問題)。通常,'getMeteorData()'助手應該重新運行,因此,只要依賴的反應性數據源發生變化就會重新呈現。 – MasterAM