Я принял Redux в своем проекте для контроля состояния, а также Ax ios для извлечения api в действии.
Но мне интересно, когда я должен получать данные, используя вызов API через Redux (в действии), когда я должен напрямую сделать вызов API в компоненте.
Это зависит от того, нужно ли мне хранить данные ответов в Redux (для совместного использования между различными компонентами)? Могу ли я узнать какие-либо рекомендации для этого?
API-вызов через Redux
export const fetchOptions = () => {
return async (dispatch, getState) => {
const request = await client.query({
query: gqlQueries.getQuery,
});
const options = await request;
dispatch({
type: types.FETCH_DATA_END,
options: options
});
}
}
Непосредственный вызов API-интерфейса в компоненте:
const axios = require("axios");
useEffect(() => {
axios({
url: 'http://localhost/graphql',
method: 'post',
data: {
query: `
query PostsForAuthor {
author(id: 1) {
firstName
posts {
title
votes
}
}
}
`
}
}).then((result) => {
console.log(result.data)
});
}, []);