Redux - Acciones
Las acciones son la única fuente de información para la tienda según la documentación oficial de Redux. Lleva una carga útil de información de su aplicación para almacenar.
Como se mencionó anteriormente, las acciones son un objeto JavaScript simple que debe tener un atributo de tipo para indicar el tipo de acción realizada. Nos dice lo que había sucedido. Los tipos deben definirse como constantes de cadena en su aplicación como se indica a continuación:
const ITEMS_REQUEST = 'ITEMS_REQUEST';
Aparte de este atributo de tipo, la estructura de un objeto de acción depende totalmente del desarrollador. Se recomienda mantener su objeto de acción lo más ligero posible y pasar solo la información necesaria.
Para provocar cualquier cambio en la tienda, primero debe enviar una acción mediante la función store.dispatch (). El objeto de acción es el siguiente:
{ type: GET_ORDER_STATUS , payload: {orderId,userId } }
{ type: GET_WISHLIST_ITEMS, payload: userId }
Creadores de acciones
Los creadores de acciones son las funciones que encapsulan el proceso de creación de un objeto de acción. Estas funciones simplemente devuelven un objeto Js simple que es una acción. Promueve la escritura de código limpio y ayuda a lograr la reutilización.
Aprendamos sobre el creador de acciones que le permite enviar una acción, ‘ITEMS_REQUEST’que solicita los datos de la lista de artículos del producto del servidor. Mientras tanto, elisLoading El estado se convierte en verdadero en el reductor en el tipo de acción 'ITEMS_REQUEST' para indicar que los elementos se están cargando y los datos aún no se reciben del servidor.
Inicialmente, el estado isLoading era falso en el initialStateobjeto asumiendo que nada se está cargando. Cuando se reciben datos en el navegador, el estado isLoading se devolverá como falso en el tipo de acción 'ITEMS_REQUEST_SUCCESS' en el reductor correspondiente. Este estado se puede usar como apoyo en los componentes de reacción para mostrar el cargador / mensaje en su página mientras la solicitud de datos está activada. El creador de la acción es el siguiente:
const ITEMS_REQUEST = ‘ITEMS_REQUEST’ ;
const ITEMS_REQUEST_SUCCESS = ‘ITEMS_REQUEST_SUCCESS’ ;
export function itemsRequest(bool,startIndex,endIndex) {
let payload = {
isLoading: bool,
startIndex,
endIndex
}
return {
type: ITEMS_REQUEST,
payload
}
}
export function itemsRequestSuccess(bool) {
return {
type: ITEMS_REQUEST_SUCCESS,
isLoading: bool,
}
}
Para invocar una función de envío, debe pasar la acción como argumento a la función de envío.
dispatch(itemsRequest(true,1, 20));
dispatch(itemsRequestSuccess(false));
Puede enviar una acción directamente usando store.dispatch (). Sin embargo, es más probable que acceda a él con el método auxiliar react-Redux llamadoconnect(). También puedes usarbindActionCreators() método para vincular muchos creadores de acciones con la función de envío.