2.9 KiB
2.9 KiB
id | title | challengeType | isRequired | videoUrl | localeTitle |
---|---|---|---|---|---|
5a24c314108439a4d403614f | Dispatch an Action Event | 6 | false | Enviar un evento de acción |
Description
dispatch
es lo que utiliza para enviar acciones al almacén de Redux. Al llamar a store.dispatch()
y pasar el valor devuelto por un creador de acciones, se envía una acción a la tienda. Recuerde que los creadores de acciones devuelven un objeto con una propiedad de tipo que especifica la acción que se ha producido. Luego, el método envía un objeto de acción al almacén de Redux. Basado en el ejemplo del desafío anterior, las siguientes líneas son equivalentes, y ambas envían la acción del tipo LOGIN
: store.dispatch (actionCreator ());
store.dispatch ({type: 'LOGIN'});
Instructions
login
configurada actualmente como false
. También hay un creador de acción llamado loginAction()
que devuelve una acción de tipo LOGIN
. Envíe la acción de LOGIN
al almacén de Redux llamando al método de dispatch
, y pase la acción creada por loginAction()
. Tests
tests:
- text: Llamar a la función <code>loginAction</code> debe devolver un objeto con la propiedad <code>type</code> establecida en la cadena <code>LOGIN</code> .
testString: 'assert(loginAction().type === "LOGIN", "Calling the function <code>loginAction</code> should return an object with <code>type</code> property set to the string <code>LOGIN</code>.");'
- text: La tienda debe inicializarse con un objeto con el <code>login</code> propiedad establecido en <code>false</code> .
testString: 'assert(store.getState().login === false, "The store should be initialized with an object with property <code>login</code> set to <code>false</code>.");'
- text: El método <code>store.dispatch()</code> se debe usar para enviar una acción de tipo <code>LOGIN</code> .
testString: 'getUserInput => assert((function() { let noWhiteSpace = getUserInput("index").replace(/\s/g,""); return noWhiteSpace.includes("store.dispatch(loginAction())") || noWhiteSpace.includes("store.dispatch({type: \"LOGIN\"})") === true })(), "The <code>store.dispatch()</code> method should be used to dispatch an action of type <code>LOGIN</code>.");'
Challenge Seed
const store = Redux.createStore(
(state = {login: false}) => state
);
const loginAction = () => {
return {
type: 'LOGIN'
}
};
// Dispatch the action here:
Solution
// solution required