Relay-Modern には、現在の日付を引数として渡すという特定の要件があります。このステップが時間の構築に移されたため、initialVariables (Relay Classic Api の一部) にコードを記述できないため、Relay-Modern では不可能であることがわかりました。そのため、親レベルで QueryRenderer を使用して、マウント時に変数をコンポーネントに渡します。このアプローチを 1 つのコンポーネントに使用するとうまくいきました。しかし、同じデータを表示するが異なる変数を使用する 2 つのコンポーネントがあるという別の問題が発生しました。
現在のウィジェット
現在の時間に基づいて 10 件のレコードを表示します
遅延ウィジェット
currentTime から始まる 20 レコードを表示 - 30 分
両方のコンポーネントが共通のデータを持つことができます。
親レベルで独自の変数を宣言すると、コンパイル時に失敗します:
Expected all fields on the same parent with the name or alias events to have the same name and arguments
Relay-Modern でこれらの問題を解決するための正しいアプローチは何ですか?
PS: 両方のコンポーネントまたは親レベルで大きなデータ セットを取得し、JS でロジックを使用してフィルター処理し、UI に表示するハック方法を知っています。