React Native FirebaseError: Function Query.startAfter() requires a valid first argument, but it was undefined
React Native FirebaseError: Function Query.startAfter() requires a valid first argument, but it was undefined
所以我收到一个错误或者:
FirebaseError: Function Query.startAfter() requires a valid
first argument, but it was undefined.
我的代码:
getMore = async () => {
let check = {};
check = this.state.lastDoc;
console.log(check); //returns a big object I will post below.
if (check) {
this.setState({ isMoreLoading: true });
setTimeout(async () => {
let snapshot = await firebase
.firestore()
.collection("posts")
.orderBy("timestamp", "desc")
.startAfter(check.data().id)
.limit(2)
.get();
};
所以我猜这个错误是关于 firebase
.
WHAT console LOG (check) RETURNS JUST BEFORE BEING USED FOR
startAfter: ITS CUT A BIT BECAUSE IT COULDNT BE POSTED: ITS CUT A BIT
BECAUSE IT COULDNT BE POSTED:
QueryDocumentSnapshot {
"_document": Document {
"converter": [Function anonymous],
"
},
"name": Object {
"stringValue": "NoviMatko",
},
"text": Object {
"stringValue": "For wh perceive laughing six did far.",
},
"timestamp": Object {
"integerValue": "1604771339487",
},
"uid": Object {
"stringValue": "S2BxNARp4Cfinttb1TK5mzAHPb13",
},
},
"name": "projects/eleph-6fee9/databases/(default)/documents/posts/djoSXIPRn1RMxMq2TD4C",
"updateTime": "2020-11-07T17:49:00.119930Z",
},
"version": SnapshotVersion {
"timestamp": Timestamp {
"nanoseconds": 119930000,
"seconds": 1604771340,
},
},
},
"
"[DEFAULT]" => Object {
"apiKey": "AIzaSyDwUBce3WYEl78xA6aag5nzb1xh2xC8dZQ",
"lastLoginAt": "1604691856267",
"phoneNumber": null,
"photoURL": null,
"providerData": Array [
Object {
"displayName": null,
"email": "dwdwadw@gmail.com",
"phoneNumber": null,
"photoURL": null,
"providerId": "password",
"uid": "dwdwadw@gmail.com",
},
],
"redirectEventId": null,
},
"tenantId": null,
"uid": "S2BxNARp4Cfinttb1TK5mzAHPb13",
},
},
},
"instancesDeferred": Map {},
"name": "auth",
},
},
"container": [Ci...(truncated to the first 10000 characters)
Got all results
vVbq2mwrDMseBxCPDj15 => {"avatar":null,"name":"NoviMatko","text":"evoooo","timestamp":1605303464278,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
vG9p4xL8UqlZBkls1Xv1 => {"avatar":null,"name":"NoviMatko","text":"gdgdgdg","timestamp":1605303411975,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
xyyZQs5q9OLP2BdqDwJO => {"avatar":null,"name":"NoviMatko","text":"jkj","timestamp":1605136211563,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
jttcmEM8WFHOXxRIO9q9 => {"avatar":null,"name":"NoviMatko","text":"adawdadjnajodhjadjonadjjajdhajdnjadnjandjnadnadajdnjas","timestamp":1605116149227,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
qFJwWiS0dpaKFbVOWrG1 => {"avatar":null,"name":"NoviMatko","text":"gsgsefgsfsf","timestamp":1605115920543,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
qD8rrsexA4HrWHvCtfxR => {"avatar":null,"name":"NoviMatko","text":"JLKDBWJENKEFJOFBNKOJSBENFJKSNFJKLSNFJKSJNFJSKFNJSNFNSFNSNFNSJKLEFNSENFSNFJNSEJFNSJFNSJFNSEFNLSNF;SNFS;FH;SFJSFNSJFNSJNFJSNFJSNFNSNFNSFNSJFNSFNSF","timestamp":1605115869284,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
djoSXIPRn1RMxMq2TD4C => {"avatar":null,"name":"NoviMatko","text":"For who thoroughly her boy estimating conviction. Reme admire in giving. See resolved goodness felicity shy civility domestic had
but. Drawings offended yet answered jennings perceive laughing six did far.","timestamp":1604771339487,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
eILcb0rPOZ0Rpeoym6uX => {"avatar":"https://firebadia&token=272cfbff-3fd7-4216-a6c3-09ed612eca3e","text":"Fjjfjffj","timestamp":1604395119914,"uid":"oTPw7q2jRWcE3F92U4aXeHHTHDg1"}
y7FN13SKWUDsWdKsGJiT => {"commentCount":3,"likeCount":5,"mood":"Yy","text":"Today is such
a joyful day because its Monday and at Mondays we dont do much at my work #blessed","timestamp":1592776918943,"userHandle":" NRQ2Ewhx76cWVqntRPLV1ygYHB73"}
错误消息告诉您 check.data().id
未定义,而不是 check
。如果您想查看 check.data().id
的值,您应该准确记录该值。
这里可能发生的情况是您手头的文件没有 属性 名为“id”的文件。这可以解释为什么您会看到此错误消息。
如果你想正确使用startAfter()
,实际上你应该将整个 DocumentSnapshot 对象传递给它:
let snapshot = await firebase
.firestore()
.collection("posts")
.orderBy("timestamp", "desc")
.startAfter(check)
.limit(2)
.get();
有关详细信息,请参阅 documentation on the pagination APIs。
所以我收到一个错误或者:
FirebaseError: Function Query.startAfter() requires a valid first argument, but it was undefined.
我的代码:
getMore = async () => {
let check = {};
check = this.state.lastDoc;
console.log(check); //returns a big object I will post below.
if (check) {
this.setState({ isMoreLoading: true });
setTimeout(async () => {
let snapshot = await firebase
.firestore()
.collection("posts")
.orderBy("timestamp", "desc")
.startAfter(check.data().id)
.limit(2)
.get();
};
所以我猜这个错误是关于 firebase
.
WHAT console LOG (check) RETURNS JUST BEFORE BEING USED FOR startAfter: ITS CUT A BIT BECAUSE IT COULDNT BE POSTED: ITS CUT A BIT BECAUSE IT COULDNT BE POSTED:
QueryDocumentSnapshot {
"_document": Document {
"converter": [Function anonymous],
"
},
"name": Object {
"stringValue": "NoviMatko",
},
"text": Object {
"stringValue": "For wh perceive laughing six did far.",
},
"timestamp": Object {
"integerValue": "1604771339487",
},
"uid": Object {
"stringValue": "S2BxNARp4Cfinttb1TK5mzAHPb13",
},
},
"name": "projects/eleph-6fee9/databases/(default)/documents/posts/djoSXIPRn1RMxMq2TD4C",
"updateTime": "2020-11-07T17:49:00.119930Z",
},
"version": SnapshotVersion {
"timestamp": Timestamp {
"nanoseconds": 119930000,
"seconds": 1604771340,
},
},
},
"
"[DEFAULT]" => Object {
"apiKey": "AIzaSyDwUBce3WYEl78xA6aag5nzb1xh2xC8dZQ",
"lastLoginAt": "1604691856267",
"phoneNumber": null,
"photoURL": null,
"providerData": Array [
Object {
"displayName": null,
"email": "dwdwadw@gmail.com",
"phoneNumber": null,
"photoURL": null,
"providerId": "password",
"uid": "dwdwadw@gmail.com",
},
],
"redirectEventId": null,
},
"tenantId": null,
"uid": "S2BxNARp4Cfinttb1TK5mzAHPb13",
},
},
},
"instancesDeferred": Map {},
"name": "auth",
},
},
"container": [Ci...(truncated to the first 10000 characters)
Got all results
vVbq2mwrDMseBxCPDj15 => {"avatar":null,"name":"NoviMatko","text":"evoooo","timestamp":1605303464278,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
vG9p4xL8UqlZBkls1Xv1 => {"avatar":null,"name":"NoviMatko","text":"gdgdgdg","timestamp":1605303411975,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
xyyZQs5q9OLP2BdqDwJO => {"avatar":null,"name":"NoviMatko","text":"jkj","timestamp":1605136211563,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
jttcmEM8WFHOXxRIO9q9 => {"avatar":null,"name":"NoviMatko","text":"adawdadjnajodhjadjonadjjajdhajdnjadnjandjnadnadajdnjas","timestamp":1605116149227,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
qFJwWiS0dpaKFbVOWrG1 => {"avatar":null,"name":"NoviMatko","text":"gsgsefgsfsf","timestamp":1605115920543,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
qD8rrsexA4HrWHvCtfxR => {"avatar":null,"name":"NoviMatko","text":"JLKDBWJENKEFJOFBNKOJSBENFJKSNFJKLSNFJKSJNFJSKFNJSNFNSFNSNFNSJKLEFNSENFSNFJNSEJFNSJFNSJFNSEFNLSNF;SNFS;FH;SFJSFNSJFNSJNFJSNFJSNFNSNFNSFNSJFNSFNSF","timestamp":1605115869284,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
djoSXIPRn1RMxMq2TD4C => {"avatar":null,"name":"NoviMatko","text":"For who thoroughly her boy estimating conviction. Reme admire in giving. See resolved goodness felicity shy civility domestic had
but. Drawings offended yet answered jennings perceive laughing six did far.","timestamp":1604771339487,"uid":"S2BxNARp4Cfinttb1TK5mzAHPb13"}
eILcb0rPOZ0Rpeoym6uX => {"avatar":"https://firebadia&token=272cfbff-3fd7-4216-a6c3-09ed612eca3e","text":"Fjjfjffj","timestamp":1604395119914,"uid":"oTPw7q2jRWcE3F92U4aXeHHTHDg1"}
y7FN13SKWUDsWdKsGJiT => {"commentCount":3,"likeCount":5,"mood":"Yy","text":"Today is such
a joyful day because its Monday and at Mondays we dont do much at my work #blessed","timestamp":1592776918943,"userHandle":" NRQ2Ewhx76cWVqntRPLV1ygYHB73"}
错误消息告诉您 check.data().id
未定义,而不是 check
。如果您想查看 check.data().id
的值,您应该准确记录该值。
这里可能发生的情况是您手头的文件没有 属性 名为“id”的文件。这可以解释为什么您会看到此错误消息。
如果你想正确使用startAfter()
,实际上你应该将整个 DocumentSnapshot 对象传递给它:
let snapshot = await firebase
.firestore()
.collection("posts")
.orderBy("timestamp", "desc")
.startAfter(check)
.limit(2)
.get();
有关详细信息,请参阅 documentation on the pagination APIs。