Новый для JS и Redux. Я пытаюсь сделать 2D-массив, который соответствует моему построению данных каналов, в котором есть видео, поэтому в основном мне нужен массив массивов данных видео (информация о видео, а не само видео).
videos
- это двумерный массив, пустой; я должен инициализировать 2d массив с правильным количеством пустых массивов? как это сделать правильно?
как выглядит мое видео Редуктор:
const initialState: VideosState = {
videos: [] // 2d array Videos[][];
}
const newsReducer = (
state = initialState,
action: VideosActionTypes
): VideosState => {
switch (action.type) {
case FETCH_VIDEOS.SUCCESS:
const index = action.videos[1];
return { videos: [...state.videos[index], action.videos[0]] };// error : Type '(Video | Video[])[]' is not assignable to type 'Video[][]'. Type 'Video | Video[]' is not assignable to type 'Video[]'.
case FETCH_VIDEOS.REFRESH_SUCCESS:
//return { videos: [...state.videos[action.videos[1]]] = action.videos[0] }; i dont know how to replace old array in 2d array with new one ;
default:
return state;
}
}
export default newsReducer;
action.videos - это кортеж [Video[], number, string]
: [массив видео, которые я получаю из API, число и индекс, необходимый для правого массива в массиве 2d, строка - это маркер страницы, необходимый для API для разбивки на страницы];
В case FETCH_VIDEOS.SUCCESS:
я хочу добавить все видео из action.videos[0]
в массив из 2d. массив индексов action.videos[1]
; и каждый FETCH_VIDEOS.SUCCESS
я хочу добавить больше данных из action.videos[0]
в правильный массив в 2d массиве; И я хочу заменить массив внутри 2d массива action.videos[0
массив в case FETCH_VIDEOS.REFRESH_SUCCESS:
.