Size: a a a

React: русскоязычное сообщество

2020 July 29

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Тогда будет примерно так с точки зрения экшенов:

const performSearch = (query, genres) => async (dispatch) => {
 dispatch(beginSearch(query, genres))
 try {
   const result = await axios.get('...')
   dispatch(successSearch(query, genres, result))
 } catch (error) {
   dispatch(errorSearch(query, genres, error))
 } finally {
   dispatch(completeSearch(query, genres))
 }
}

const toggleGenre = genreId => ({
  type: 'GENRES/TOGGLE',
  error: false,
  payload: { id: genreId }
})
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
И такая борода из четырех саб-экшенов в performSearch нужна, если у вас по-взрослому все.

Но, как правило, вас это интресует только с точки зрения показа крутилки и ошибок, поэтому можно обойтись не такими гранулярными экшенами, а сделать проще:

const performSearch = (query, genres) => async (dispatch) => {
 dispatch(showSpinner('search'))
 try {
   const result = await axios.get('...')
   dispatch(searchComplete(query, genres, result))
 } catch (error) {
   dispatch(showError('search', error))
 } finally {
   dispatch(hideSpinner('search'))
 }
}
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
События showSpinner, hideSpinner и showError используются во многих экшенах, связанных с асинхронными операциями и ключ (первым аргументом) говорит о слоте, где следует отобразить/скрыть спиннер и поставить ошибку.
источник

1

1N54N3 in React: русскоязычное сообщество
Хотел всего лишь сбросить состояние чекбоксов после срабатывания action'a SET_QUERY
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Ну, вы же планируете своим кодом работодателей восхищать?
источник

1

1N54N3 in React: русскоязычное сообщество
Да.. заглушку попозже хотел сделать
источник

1

1N54N3 in React: русскоязычное сообщество
Не понял идеи< как это поможет с обновлением чекбоксов
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
А какая у вас сейчас трудность с этим?
источник

1

1N54N3 in React: русскоязычное сообщество
Юра Чеботаев
А какая у вас сейчас трудность с этим?
Выбрал жанры, ввел query > жанры сбросились в сторе > но как у чекбоксов сбросить чекед?
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
А как сейчас они сбрасываются?
источник

1

1N54N3 in React: русскоязычное сообщество
Никак
источник

1

1N54N3 in React: русскоязычное сообщество
Имеете ввиду в стейте?
источник

1

1N54N3 in React: русскоязычное сообщество
const setQuery = query => {
   return dispatch => {
       dispatch({
           type: 'SEARCH/REMOVE_GENRES',
       })
       dispatch({
           type: 'SEARCH/SET_QUERY',
           payload: query
       })
       dispatch(getMovies())
   }
}

В первом диспатче
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
checked={false}
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
<input type="checkbox" checked={true || false} />
источник

1

1N54N3 in React: русскоязычное сообщество
Получить из стора жанры и в зависимости от этого контролировать чекбоксами?
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Как вариант, да.
источник

1

1N54N3 in React: русскоязычное сообщество
Юра Чеботаев
Как вариант, да.
Вот пробовал не получается
источник

1

1N54N3 in React: русскоязычное сообщество
Фальс остается навсегда
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Почему?
источник