3.2 KiB
3.2 KiB
id | title | challengeType | isRequired | forumTopicId | localeTitle |
---|---|---|---|---|---|
5a24c314108439a4d403614f | Dispatch an Action Event | 6 | false | 301442 | Отправка события |
Description
dispatch
- это то, что вы используете для отправки действий в хранилище Redux. Вызов store.dispatch()
со значением, которое получено из создателя действия, посылает действие обратно в хранилище. Напомним, что создатель действия возвращает объект со свойством type, который определяет произошедшее действие. Потом метод отправляет объект действия в хранилище Redux. Основываясь на примере из предыдущего упражнения, следующие строки эквивалентны, и обе отправляют действие типа LOGIN
: store.dispatch(actionCreator());
store.dispatch({ type: 'LOGIN' });
Instructions
login
, у которого задано значение false
. Также объявлен создатель действия loginAction()
, который возвращает действие типа LOGIN
. Отправьте действие LOGIN
в хранилище Redux, вызвав метод dispatch
и передайте ему действие, созданное функцией loginAction()
.
Tests
tests:
- text: Calling the function <code>loginAction</code> should return an object with <code>type</code> property set to the string <code>LOGIN</code>.
testString: assert(loginAction().type === 'LOGIN');
- text: The store should be initialized with an object with property <code>login</code> set to <code>false</code>.
testString: assert(store.getState().login === false);
- text: The <code>store.dispatch()</code> method should be used to dispatch an action of type <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 })());'
Challenge Seed
const store = Redux.createStore(
(state = {login: false}) => state
);
const loginAction = () => {
return {
type: 'LOGIN'
}
};
// Dispatch the action here:
Solution
const store = Redux.createStore(
(state = {login: false}) => state
);
const loginAction = () => {
return {
type: 'LOGIN'
}
};
// Dispatch the action here:
store.dispatch(loginAction());