いくつかの投稿を表示するエディター フィールドを作成しています
以下のコード
export const EditorView = (props) => {
return (
<List {...props} title="Fresh Tales">
<Datagrid>
<TextField source="id" />
<TextField source="text" />
<ReferenceField label="Writer" source="writerId" reference="writers">
<TextField source="name" />
</ReferenceField>
</Datagrid>
</List>
)
}
参照フィールドのドキュメントはこちら
referenceField が API クエリの重複を排除することを提案しますが、すべてのクエリのモック API に表示されるクエリはそうです。ここには2つの問題があります。
1) すべてのクエリが 2 回行われています。1 回は OPTIONS で、もう 1 回は GET です。
2) ReferenceField 内のすべてのライター リソースは、ライターへの単一のクエリによってフェッチされています。
OPTIONS /tales?_sort=ID&_order=ASC&_start=0&_end=10 204 0.168 ms - -
GET /tales?_sort=ID&_order=ASC&_start=0&_end=10 304 2.130 ms - -
OPTIONS /writers/312 204 0.148 ms - -
OPTIONS /writers/314 204 0.153 ms - -
OPTIONS /writers/316 204 0.190 ms - -
OPTIONS /writers/318 204 0.226 ms - -
OPTIONS /writers/320 204 0.116 ms - -
OPTIONS /writers/322 204 0.118 ms - -
OPTIONS /writers/324 204 0.142 ms - -
OPTIONS /writers/330 204 0.135 ms - -
OPTIONS /writers/340 204 0.122 ms - -
OPTIONS /writers/350 204 0.129 ms - -
GET /writers/312 304 1.769 ms - -
GET /writers/314 304 0.884 ms - -
GET /writers/316 304 4.023 ms - -
GET /writers/318 304 2.928 ms - -
GET /writers/320 304 0.759 ms - -
GET /writers/322 304 1.126 ms - -
GET /writers/324 304 1.040 ms - -
GET /writers/330 304 1.687 ms - -
GET /writers/340 304 0.653 ms - -
GET /writers/350 304 0.771 ms - -
これはかなり重く無駄に思えます。すべてのライターをビューにロードすることは、新しい要求です。私が間違っているのか、ドキュメントが間違っているのかわかりません。