2
我有使用findOne的問題,因爲它總是返回undefined。React findOne返回undefined在客戶端
此代碼:
Routine.js
Meteor.methods({
.... // Some lines missing
'routines.getRoutine'(routineId) {
check(routineId, String);
return Routines.findOne(routineId);
},
});
注:如果我做Routines.findOne(routineId)的執行console.log它正確地顯示,我正在尋找的元素。
App.jsx
handleSubmit(event) {
event.preventDefault();
const comment = ReactDOM.findDOMNode(this.refs.comment).value.trim();
Meteor.call('routines.addComment', this.state.routine._id, comment);
let a = Meteor.call('routines.getRoutine', this.state.routine._id);
ReactDOM.findDOMNode(this.refs.comment).value = '';
this.setState({
routine: a,
});
}
在我Appjs不要緊,我如何努力 'A' 永遠是不確定的,我究竟做錯了什麼?
感謝您的幫助!
貌似Meteor.call不同步返回一個值,也不會允許狀態,通過'routines.addComment更新'。您可以嘗試在addComment之後添加超時,以查看它是否在狀態更改後定義。 – Scott