Если вы не можете использовать Redux, вы, очевидно, захотите обработать его с помощью действия.
Обычно, если данные используются только в компоненте, было бы хорошо выполнить вызов APIв componentDidUpdate () или в событии.
Если данные будут использоваться группой несвязанных компонентов, или вы в конечном итоге будете выполнять многопотоковую подпрограмму, вы захотите использовать Redux.
actions / index.js
export const FETCH_DATA = 'FETCH_DATA'
export const fetchData = async () => {
const url = `http://your-url.com`;
const request = await fetch(url);
return {
type: FETCH_DATA,
payload: request
}
}
Затем отправьте данные, полученные в результате действия, в редуктор.
redurs / reducer_whwhat.js
import { FETCH_DATA } from '../actions/index'
export default function(state = [], action) {
switch (action.type) {
case FETCH_SOMETHING:
return [ action.payload.data, ...state ];
}
return state;
}