РК
Size: a a a
РК
1
ЮЧ
РК
1
ЮЧ
РК
ЮЧ
ЮЧ
React.lazy, но и для загрузки данных.РК
ЮЧ
1
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 }
})const toggleGenre = genreId => ({
type: 'GENRES/TOGGLE',
error: false,
payload: { id: genreId }
})
В редюсере проверяется есть ли жанр в жанрах, если есть удаляет - если нет добавляет?ЮЧ
const toggleGenre = genreId => ({
type: 'GENRES/TOGGLE',
error: false,
payload: { id: genreId }
})
В редюсере проверяется есть ли жанр в жанрах, если есть удаляет - если нет добавляет?ЮЧ
<Suspense> подпишется на этот промис и покажет fallback пока он не загружен и контент, когда загружен.ЮЧ
const Loadable = () => {
throw new Promise(...)
}ЮЧ
ЮЧ
1
ЮЧ
ЮЧ