如何使用 redux thunk getFireBase 和 react-redux-firebase 的 getFirestore 将数据添加到 firebase doc
How do you add data to firebase doc using redux thunk getFireBase and getFirestore from react-redux-firebase
问题
- 我在使用 react-redux-thunk 将数据添加到 firebase 数据库时遇到问题
- 我已经检查了文档并观看了多个 youtube 视频,但是 运行 一个接一个地出错
- 我想分别使用“redux-firestore”和“react-redux-firebase”库中的
getFirestore
和 getFirebase
中间件向 firebase 文档添加数据
代码
- 这里是动作函数
- 所有代码似乎都有效,但我不知道如何将
validatonResults
添加到 users/uid
(请参阅下面代码中的注释)
- 尝试了下面的代码(以及很多其他的东西)但是没有用
firebase.push('users', { data: validatonResults })
import inputValidationAPI from "../../apis/inputValidationAPI"
export const validateTestCase = payload => {
return (dispatch, getState, { getFirebase, getFirestore }) => {
const fireStore = getFirestore()
const firebase = getFirebase()
const uid = getState().firebase.auth.uid
inputValidationAPI
.post("/submitTerm", {
term: payload
})
.then(response => {
return response.data.data
})
.then(validatonResults => {
/*
validationResults = ["string1", "string2", "string3"]
I want to take validationResults and add them into firebase collection something like:
firebase.push('todos/${uid}', { some: 'data' })
*/
return validatonResults
})
.then(validatonResults => {
dispatch({
type: "VALIDATE_TESTCASE_SUCCESS",
payload: validatonResults
})
})
.catch(err => console.log(err))
}
}
以下语法解决了这个问题:
fireStore.update(
{ collection: "users", doc: uid },
{ dataToSave: someJSONObject },
}
)
问题
- 我在使用 react-redux-thunk 将数据添加到 firebase 数据库时遇到问题
- 我已经检查了文档并观看了多个 youtube 视频,但是 运行 一个接一个地出错
- 我想分别使用“redux-firestore”和“react-redux-firebase”库中的
getFirestore
和getFirebase
中间件向 firebase 文档添加数据
代码
- 这里是动作函数
- 所有代码似乎都有效,但我不知道如何将
validatonResults
添加到users/uid
(请参阅下面代码中的注释) - 尝试了下面的代码(以及很多其他的东西)但是没有用
firebase.push('users', { data: validatonResults })
import inputValidationAPI from "../../apis/inputValidationAPI"
export const validateTestCase = payload => {
return (dispatch, getState, { getFirebase, getFirestore }) => {
const fireStore = getFirestore()
const firebase = getFirebase()
const uid = getState().firebase.auth.uid
inputValidationAPI
.post("/submitTerm", {
term: payload
})
.then(response => {
return response.data.data
})
.then(validatonResults => {
/*
validationResults = ["string1", "string2", "string3"]
I want to take validationResults and add them into firebase collection something like:
firebase.push('todos/${uid}', { some: 'data' })
*/
return validatonResults
})
.then(validatonResults => {
dispatch({
type: "VALIDATE_TESTCASE_SUCCESS",
payload: validatonResults
})
})
.catch(err => console.log(err))
}
}
以下语法解决了这个问题:
fireStore.update(
{ collection: "users", doc: uid },
{ dataToSave: someJSONObject },
}
)