問題タブ [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.

0 投票する
1 に答える
555 参照

reactjs - React async data fetch が静的ビルドでデータをフェッチしない

  • Sanity.ioGatsby.jsを使用して静的サイトを構築しています。
  • データは Sanity を介してホストされており、GROQを介して取得しています。
  • ホストとビルドはNetlifyにあります。

問題は、ビルドするとレンダリングされた結果しか得られないことですLoading。それは開発で機能します。(これは、ホットロードのせいだと確信しています)

ビルドのレンダリング (非同期) データ フェッチをビルドするにはどうすればよいですか? componentDidMount()これをorに入れたくありませんuseEffect()。私が理解していることから、クエリはクライアント側になるからです。これでは、ページが読み込まれるたびに API リクエストが発生しますよね? 代わりに、ビルド時に 1 つだけが必要です。

まだデータがない限り、ビルド/レンダリングを一時停止できますか?

以下は私の簡略化されたコードです

0 投票する
1 に答える
193 参照

reactjs - Lunr - gatsby-plugin-lunr - ビルド時にデータ/インデックスを変更できますか?

検索コンポーネントが必要な Gatsy-Sanity プロジェクトがあります。このために、私はgatsby-plugin-lunrを使用しています。ノードが多言語であるという問題が発生しました。たとえば、私のフィールドの 1 つは次のように構成されています。

(このパーサーは、要するに次のようなものです_type。'locale*' で始まるキーがある場合、キー en または nl の値のみを返します。これは var によって渡されます)

データを分割/削除するパーサーを作成できます。検索インデックスから検索クエリを実行するコンポーネント内で、この種の作業 (まだ成功していません) があります。しかし、それは検索ごとに解析することを意味します。gatsby-node.jslunr プラグインを使用してビルドする方法はありますか? 結果のスラッグ/パスに言語プレフィックスを追加する必要があるため、これも必要です。