Watch a live product demo πŸ‘€ See how Sanity powers richer commerce experiences

Hello everyone, can anyone tell me how to access document data from within the structure builder? ```import client from "@sanity/client" client.getDocument('tags').then(tags...

6 replies
Last updated: Dec 22, 2020
Hello everyone,can anyone tell me how to access document data from within the structure builder?

import client from "@sanity/client"

client.getDocument('tags').then(tags => {
    console.log(`${tags.tagArray}`)
})
i get the error message:
TypeError: _client.default.getDocument is not a function
at Object.<anonymous> (/static/js/app.bundle.js
:180469:17) at __webpack_require__ (/static/js/vendor.bundle.js
:713:30) at fn (/static/js/vendor.bundle.js
:118:20) at loadStructure (/static/js/app.bundle.js
:179724:15) at DeskTool.derivePanes (/static/js/app.bundle.js
:401564:56) at DeskTool.derivePanes (/static/js/app.bundle.js
:441377:25) at DeskTool.componentDidMount (/static/js/app.bundle.js
:401673:10) at DeskTool.componentDidMount (/static/js/app.bundle.js
:441367:123) at commitLifeCycles (/static/js/vendor.bundle.js
:23112:22) at commitLayoutEffects (/static/js/vendor.bundle.js
:26101:7)
Dec 22, 2020, 10:43 AM
The default export of
@sanity/client
is a sanity client constructor, not a singleton. You need to construct a client, then you can access its documents
Dec 22, 2020, 11:07 AM
See the introductory example on how to construct one https://www.sanity.io/docs/js-client
Dec 22, 2020, 11:09 AM
well that helps, thanks a lot
Dec 22, 2020, 11:31 AM
import client from 'part:@sanity/base/client
will do the trick πŸ™‚
Dec 22, 2020, 12:57 PM
import client from 'part:@sanity/base/client
will do the trick πŸ™‚
Dec 22, 2020, 12:57 PM
Here's another example using observables to make the structure real-time https://github.com/sanity-io/sanity-recipes/blob/master/snippets/deskStructureWithRoles.js
Dec 22, 2020, 12:59 PM

Sanity.io – build remarkable experiences at scale

Sanity is a customizable solution that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Related answers

Get more help in the community Slack

TopicCategoriesFeaturedRepliesLast Updated
After adding the subtitle and running this code npm run graphql-deploy It does nothingSep 15, 2020
how to limit a reference to just one entry in Studio reference input side versus the default as-many-entries-as-you-fill-in-an-array...Sep 18, 2020
Is it possible to fetch more than one "_type" using GROQ?Nov 2, 2020
I want to add a view with the Structure builder (S.view.component) where I list similar documents based on the title. What...Sep 23, 2020
Is there a structure builder example where the format of each preview for the document list is modified?Feb 3, 2021
I have an array of references to a country schema type but it always just returns NULL values for meJan 30, 2021
Hi, I need help with a query for getting the url of an image asset. Here is what I've been trying, but I only get the _ref...Dec 1, 2020
Sanity UI looks brilliant :smiley: Is something like the current date picker possible at the moment? I’m not sure if anicon...Dec 21, 2020
Hey everyone. I have been coding and may have potentially accidentally deleted something. Does anyone know how to resolve...Dec 26, 2020
Hello everyone and happy new year :raised_hands::skin-tone-2:, I have a problem with outputting Portable Text :disappointed:...Jan 1, 2021

Related contributions

Clean Next.js + Sanity app
- Template

Official(made by Sanity team)

A clean example of Next.js with embedded Sanity ready for recomposition.

Cody Olsen
Go to Clean Next.js + Sanity app

Blog with Built-in Content Editing
- Template

Official(made by Sanity team)

A Sanity-powered blog with built-in content editing and instant previews.

Go to Blog with Built-in Content Editing