問題タブ [sanity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - React async data fetch が静的ビルドでデータをフェッチしない
- Sanity.ioとGatsby.jsを使用して静的サイトを構築しています。
- データは Sanity を介してホストされており、GROQを介して取得しています。
- ホストとビルドはNetlifyにあります。
問題は、ビルドするとレンダリングされた結果しか得られないことですLoading
。それは開発で機能します。(これは、ホットロードのせいだと確信しています)
ビルドのレンダリング (非同期) データ フェッチをビルドするにはどうすればよいですか? componentDidMount()
これをorに入れたくありませんuseEffect()
。私が理解していることから、クエリはクライアント側になるからです。これでは、ページが読み込まれるたびに API リクエストが発生しますよね? 代わりに、ビルド時に 1 つだけが必要です。
まだデータがない限り、ビルド/レンダリングを一時停止できますか?
以下は私の簡略化されたコードです
reactjs - Lunr - gatsby-plugin-lunr - ビルド時にデータ/インデックスを変更できますか?
検索コンポーネントが必要な Gatsy-Sanity プロジェクトがあります。このために、私はgatsby-plugin-lunrを使用しています。ノードが多言語であるという問題が発生しました。たとえば、私のフィールドの 1 つは次のように構成されています。
(このパーサーは、要するに次のようなものです_type
。'locale*' で始まるキーがある場合、キー en または nl の値のみを返します。これは var によって渡されます)
データを分割/削除するパーサーを作成できます。検索インデックスから検索クエリを実行するコンポーネント内で、この種の作業 (まだ成功していません) があります。しかし、それは検索ごとに解析することを意味します。gatsby-node.js
lunr プラグインを使用してビルドする方法はありますか? 結果のスラッグ/パスに言語プレフィックスを追加する必要があるため、これも必要です。