freeCodeCamp/curriculum/challenges/portuguese/03-front-end-libraries/redux/dispatch-an-action-event.po...

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

O repositório Redux no editor de código possui um estado inicializado que é um objeto que contém uma propriedade de 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