【发布时间】:2020-09-24 11:42:04
【问题描述】:
我正在使用 Axios 使用 React 和 Firebase 制作一个调查工具,现在我正在尝试制作一个模板功能,其中我创建了一些存储在 firebase 中的调查模板,现在当用户想要访问我的模板时能够以 json 格式获取模板,但我也无法将其复制到他们的帐户中。
这是我用来获取调查模板的代码
const fetchSurvey = async () => {
const res = await axios.get(
"/surveys/ckb0kmt3n000e3g5rmjnfw4go/content/questions.json"
);
console.log(res.data);
};
其中“ckb0kmt3n000e3g5rmjnfw4go”是调查 ID,当我这样做时,数据成功登录到控制台,但是当我使用此模板创建新调查时:
const fetchSurvey = async () => {
const res = await axios.get(
"/surveys/ckb0kmt3n000e3g5rmjnfw4go/content/questions.json"
);
return res.data
};
const content = {
title: "Your Survey Title",
subTitle: "Your Survey Description",
creatorDate: new Date(),
lastModified: new Date(),
questions: fetchSurvey(),
submitting: true
};
this.setState({
_id: newId(),
content: content,
userId: this.props.user_Id
});
}
clickHandler = () => {
const newSurvey = { ...this.state };
axios
.put(
"/surveys/" + this.state._id + ".json?auth=" + this.props.token,
newSurvey
)
.then(res => {
this.props.onGetSurveyId(res.data._id);
})
.catch(error => {
console.log(error);
});
};
在此之后,确实创建了调查,但问题键将丢失并且不会呈现任何问题。请帮助我
【问题讨论】:
标签: javascript reactjs asynchronous firebase-realtime-database axios