我有另一个组件中的对象,我想向数据中添加对象值,但是当我第一次单击Submit时,import {Injectable} from '@angular/core';
import {AngularFireDatabase} from 'angularfire2/database';
@Injectable({
providedIn: 'root'
})
export class NewsService {
list: any[];
constructor(db: AngularFireDatabase) {
db.list('/actu').valueChanges()
.subscribe(list => {
this.list = list;
console.log(this.list);
});
}
Getlist() {
return this.list;
}
getnews(title: string) {
return this.list.find(value => value.titre === title);
}
}
显示为空,下次还可以。我该如何首先console.log
?
setState
答案 0 :(得分:0)
该问题已通过useEffect解决。通过在useEffect
中指定条件 const [startOnSubmit, changeOnSubmit] = useState(false)
useEffect(() => {
if (startOnSubmit) {
addPost(formData);
changeOnSubmit(false);
}
}, [formData, addPost, startOnSubmit, changeOnSubmit]);
const onSubmit = e => {
e.preventDefault();
const oto = { ...options, ...newOptions }
setFormData({
...formData,
options: oto,
category: selected === null ? '' : selected.id
});
changeOnSubmit(true)
}