2.9 KiB
2.9 KiB
id | title | challengeType | isRequired | videoUrl | localeTitle |
---|---|---|---|---|---|
5a24c314108439a4d403614f | Dispatch an Action Event | 6 | false | Despachar um Evento de Ação |
Description
dispatch
método de dispatch
é o que você usa para despachar ações para o armazenamento do Redux. Chamar store.dispatch()
e passando o valor retornado de um criador de ação envia uma ação de volta ao armazenamento. Lembre-se de que os criadores de ações retornam um objeto com uma propriedade de tipo que especifica a ação que ocorreu. Em seguida, o método despacha um objeto de ação para o armazenamento do Redux. Com base no exemplo do desafio anterior, as seguintes linhas são equivalentes e ambas enviam a ação do tipo LOGIN
: store.dispatch (actionCreator ());
store.dispatch ({type: 'LOGIN'});
Instructions
login
atualmente definida como false
. Há também um criador de ações chamado loginAction()
que retorna uma ação do tipo LOGIN
. Despache a ação LOGIN
para o armazenamento Redux chamando o método de dispatch
e passe a ação criada por loginAction()
. Tests
tests:
- text: Chamar a função <code>loginAction</code> deve retornar um objeto com a propriedade <code>type</code> configurada para a string <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: A loja deve ser inicializada com um objeto com o <code>login</code> propriedade definido como <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: O método <code>store.dispatch()</code> deve ser usado para despachar uma ação do 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