Size: a a a

2021 July 04

В

Виталий in JS Liberty
Нид хелп.

Вот есть у меня стейт
const state = {
 name: {
   status: noActive,
   value: val1,
 },
 mail: {
    status: noActive,
    value: val2,
 }
};

я собираю выбираю document.querySelectorAll([data-editable-target])
внутри организую событие клик по по элементу.
Получаю с него имя, и хочу обратиться в сейт с таким именем.
но возниакет затык, как правильно сгенерить имя стейта?
const targets = document.querySelectorAll('[data-editable-target]');
targets.forEach((target) => {
 target.addEventListener('click', () => {
   const blockName = target.innerText;     // 'mail'
   // НЕ СРАБОТАЛО
   // const sts = `${state}.${blockName}`;
   // const sts = state + '.' + blockName;
   // const sts = 'state.' + blockName;
 })
});

ка из полей составить единое имя, что бы я изменил стейт  по адресу state.mail.value ?
ну или прокинул дальше константу с стейтом?
источник

S

Syntax Highlight Bot in JS Liberty
источник

S

Syntax Highlight Bot in JS Liberty
источник

S

Syntax Highlight Bot in JS Liberty
====================================================
источник

p

persona x grata in JS Liberty
const obj = {
 a: {
   b: {
     c: 'd'
   },
   e: 'f'
 }
}

const get = (obj, path, defaultValue) =>
 path
   .split('.')
   .reduce((acc, el) => acc?.[el] ? acc[el] : defaultValue, obj)    

console.log(get(obj, 'a.b.c')) // 'd'
источник

В

Виталий in JS Liberty
городить forEach не хотелось бы
источник

В

Виталий in JS Liberty
т.е. без доп ф-ций не обойтись?
источник

p

persona x grata in JS Liberty
да, решение такое через редьюс
источник

p

persona x grata in JS Liberty
или через eval))
источник

В

Виталий in JS Liberty
Понял. Благодарю!
источник

p

persona x grata in JS Liberty
Только подредактируй функцию, это из другой задачи
источник

В

Виталий in JS Liberty
я понял.
источник

В

Виталий in JS Liberty
суть уловил
источник

p

persona x grata in JS Liberty
ну смысл решения ставить в аккумулятор редюса объекст, в котором нужно добраться до поля
источник

В

Виталий in JS Liberty
стандартный рекурсивный обход дерева, по сути
источник

ia

ivan anatolyevich 🏋... in JS Liberty
Вышел гулять с собакой обошел дерево
источник

ia

ivan anatolyevich 🏋... in JS Liberty
источник

В

Виталий in JS Liberty
т.е.  собака тебя вігуливает?
источник

В

Виталий in JS Liberty
обычно они вокруг деревьев =)
источник

В

Виталий in JS Liberty
да и зачем ее выгуливать то в частном доме?
источник