-
Notifications
You must be signed in to change notification settings - Fork 140
Open
Description
Why does useLiveQuery re-render twice?
next config:
reactStrictMode: false,
package.json
"@tanstack/electric-db-collection": "^0.2.13",
"@tanstack/react-db": "^0.1.56",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"next": "^16.0.6",
import { electricCollectionOptions } from "@tanstack/electric-db-collection";
import { createCollection, useLiveQuery } from "@tanstack/react-db";
const workspaceContentCollection = useMemo(() => {
return createCollection(
electricCollectionOptions({
shapeOptions: {
id: "sync_workspace_content",
url: "http://localhost:4000/sync/workspace_content",
params: {
table: "workspace_content",
workspace_id: asyncParams.workspace_id,
},
headers: {
Authorization: `Bearer ${authToken}`,
},
},
getKey: (item) => item.id,
}),
);
}, [asyncParams.workspace_id]);
const {
data: workspace_content,
status,
isLoading,
} = useLiveQuery((q) =>
q
.from({ workspace_content: workspaceContentCollection })
.where(({ workspace_content }) =>
eq(workspace_content.workspace_id, BigInt(asyncParams.workspace_id)),
),
);
console.log("status");
console.log(status);
output:
status
loading
status
loading
status
ready
Metadata
Metadata
Assignees
Labels
No labels