У меня есть приложение с React в качестве клиентской среды и Graphql для запуска API.План извлекает сообщения пользователей и количество сообщений.
Клиентская сторона
const Profile = () => (
<div>
<PostCount />
<Posts />
</div>
)
const PostCount = () => ...
const Posts = () => ...
Нам необходимо отображать сообщения в компоненте «Сообщения» и количество сообщений в компоненте «Количество».Поэтому мой вопрос в том, что лучше.
получить все данные в компоненте профиля за один запрос и отправить их компоненту Post and Count в качестве реквизита.или получить количество сообщений в компоненте Count и количество сообщений в компоненте Post.
сценарий один включает в себя один запрос к серверу и больший кусок данных.
сценарий два включает два запроса к серверу и меньший кусок данных.
сценарий на одной стороне сервера:
const schema = `
type Query {
feeds(): Feed!
}
type Feed {
posts: [Post!]!
count: Int!
}
type Post {
...
}
`
async function feed() {
const posts: await Post.findAll();
const count = await Post.count();
return {
count
posts,
}
}
сценарий двасторона сервера:
const schema = `
type Query {
posts(): [Post!]!
count(): Int!
}
type Post {
...
}
`
async function feed() {
const posts: await Post.findAll();
return posts;
}
async function count() {
const count = await Post.count();
return count;
}
PS также учитывайте большие данные.сообщения и количество примеров.например, посты пользователей и комментарии пользователей.