0
Я получаю сообщение об ошибке при перенаправлении на страницу панели. Ошибка в компоненте Navbar. Я использовал Mix ReactMeteorData. Мой кодНевозможно прочитать свойство «currentUser» undefined
const ReactMeteorDataWrap = (BaseComponent)=>{
return class ExportClass extends Component {
getMeteorData(){
let data = {};
console.log(Meteor.user()); // shows undefined in console
data.currentUser = Meteor.user();
console.log('data',data);
return data;
}
render(){
return <BaseComponent getMeteor={()=>this.getMeteorData()}
{...this.props}></BaseComponent>
}
}
}
export default ReactMeteorDataWrap;
Navbar.jsx который использует ReactMeteorData Примеси
import ReactMeteorDataWrap from '../ReactMeteorDataWrap.jsx';
class Navbar extends Component {
constructor(props){
super(props);
this.state = { searchText: '' };
this.props.getMeteor();
}
//getMeteorData() {
// this.props.getMeteor();
//}
componentDidMount(){
var users = Meteor.users.find({},{fields:{'profile':1}}).fetch();
var usernames = [];
users.map(function(user){
usernames.push(user.profile.fullname);
});
$('#typeahead').typeahead({
name: 'users',
local: usernames
});
}
handleSubmit(e){
e.preventDefault();
FlowRouter.go('/user/' + (this.refs.searchText.value).trim());
}
render() {
var fullname = '';
if(this.data.currentUser && this.data.currentUser.profile){
fullname = this.data.currentUser.profile.firstname + ' ' + this.data.currentUser.profile.lastname; // error is shown here
}
return();
}
export default ReactMeteorDataWrap(Navbar);
я неопределенными в то время как утешая Meteor.user() в ReactMeteorDataWrap и не может читать свойство 'CurrentUser' в Navbar.jsx визуализации функция.
ой мой плохой. Извините, прежде чем я получил getMeteorData() в компоненте Navbar без использования каких-либо функций mixin, поэтому я использовал this.data. Спасибо за вашу помощь. – milan
Я получаю undefined даже после выполнения this.props.currentUser. – milan
@milan Thats, потому что 'Meteor.user()' возвращает 'undefined', но вы не разместили эту часть своего кода. Вы должны рассмотреть вопрос о новом вопросе с соответствующим кодом. – andlrc