Оказывать список документов, я использую .map()
на функцию, которая возвращает массив из подписки:Рендер один документ в React с Метеор
{this.getApplications().map((application) => {
return application.name;
})}
Но когда я хочу сделать один документ, как это:
export default class ApplicationForm extends TrackerReact(React.Component) {
constructor() {
super();
this.state = {
subscription: {
applications: Meteor.subscribe('applications')
}
}
}
componentWillUnmount() {
this.state.subscription.applications.stop();
}
getSingleApplication() {
const applicationDoc = Applications.find().fetch();
if (applicationDoc) {
return applicationDoc[0];
}
}
render() {
const name = this.getSingleApplication().name;
return (
<div>
{name}
</div>
);
}
}
Я получаю следующее сообщение об ошибке:
Cannot read property 'name' of undefined
Я предполагаю, что я отсутствовал на каком-то базовом javascript.
Возможно, это связано с тем, что подписки не были готовы при загрузке страницы?
Можем ли мы увидеть больше кода? – Li357
'this.getSingleApplication()' возвращает undefined. Не намного больше мы можем сделать. –
'Невозможно прочитать свойство 'name' undefined' - значит, вам нужно изучить javascript ... getSingleApplication возвращает undefined ... – Endless