Size: a a a

2021 January 14

Вт

Ві тя in Frontend UA
Илья Хафизов
const initialState = {data:[
   {
       key: 1,
       mockData: [
           {
               id: 12354,
               NomerBS: "0077",
               Mest: "asdad",
               DopI: "asdasd",
               Shiro: "asasd",
               Viso: 80,
               Aziy: 30,
               Koef: 30,
               Poter: 40,
               Mosch: 30,
               NomerK: 2500,
               Chasto: "2685/2565",
               Visot: 205,
               UgolM: -5,
               Shiri: 65,
               Shirin: 5,
               Klass: "10M0D7W 10M0G7W",
               Polya: "VX",
               Radiu:10,
           }
       ]
},]}
function addNewObject(initialState, obj) {initialState.data.forEach(d => d.mockData.push(obj)); return initialState}
источник

Вт

Ві тя in Frontend UA
Илья Хафизов
Как сделать deepclone?
источник

ИХ

Илья Хафизов... in Frontend UA
Ві тя
function addNewObject(initialState, obj) {initialState.data.forEach(d => d.mockData.push(obj)); return initialState}
Спасииииибо огромное
источник

ИХ

Илья Хафизов... in Frontend UA
Alexey Raspopov
в каждый объект внутри data?
Не совсем понял(
источник

AR

Alexey Raspopov in Frontend UA
сколько объектов с mockdata внутри массива data?
источник

ИХ

Илья Хафизов... in Frontend UA
Alexey Raspopov
сколько объектов с mockdata внутри массива data?
Много
источник

AR

Alexey Raspopov in Frontend UA
нужно добавить в каждый?
источник

ИХ

Илья Хафизов... in Frontend UA
Там большая таблица
источник

ИХ

Илья Хафизов... in Frontend UA
Объекты внутри data, это типа родительские строки для таблицы, а объекты внутри mockData. Подстроки внутри родительных строк
источник

Вт

Ві тя in Frontend UA
Илья Хафизов
Я хочу добавить в массив "MockData" новый объект, как я могу написать reducer для этого?
а погоди, это redux? я почти стал телепатом пока перечитывал
источник

ИХ

Илья Хафизов... in Frontend UA
Ві тя
а погоди, это redux? я почти стал телепатом пока перечитывал
Да, редакс
источник

Вт

Ві тя in Frontend UA
в редакс не надо deepclone, достаточно shallow return {…state};
источник

ИХ

Илья Хафизов... in Frontend UA
Если так сделаем, редакс считает mockData не изменился
источник

ИХ

Илья Хафизов... in Frontend UA
И не рендерит обновление
источник

Вт

Ві тя in Frontend UA
ну и я не уверен что понимаю что куда надо добавить, initialState.data[0].mockData.push(obj) добавит obj в первьій обьект массива data
источник

Вт

Ві тя in Frontend UA
Илья Хафизов
И не рендерит обновление
покажи код редюсера пожалуйста
источник

ИХ

Илья Хафизов... in Frontend UA
Сейчас
источник

ИХ

Илья Хафизов... in Frontend UA
case TableActionTypes.ADD_ROW_SECTOR: {
   let id = parseInt(action.payload)
   
   let newState = { ...state };
   let element = newState.data.find(x => x.key === id);
   element.mockData.push(newData);
   return newState
   
}
источник

ИХ

Илья Хафизов... in Frontend UA
я так хотел попробовать, но mockData не новый массив, поэтому не перерендерится компонент(
источник

ИХ

Илья Хафизов... in Frontend UA
id у нас key, родительского объекта, внутри data который
источник