Michael
Запрос один, меняются только переменные
тогда и передавай через variables разные переменные
Without Hands
Ну у меня apollo-yoga
Да, я вижу тут ошибку, только что поправил, но всё так же не работает
Without Hands
Но за то, поменялся еррор
endifai
тогда и передавай через variables разные переменные
Ну данные у меня используются в одном месте, нужно чтобы при клике переменные для этого запроса менялись и сразу заменялись используемые данные
Michael
Ну данные у меня используются в одном месте, нужно чтобы при клике переменные для этого запроса менялись и сразу заменялись используемые данные
ты на onClick и вешай фукцию с мутацией, в ней передавай переменные, типа так mutation({vairiables: {portId: id} }), т.е. по сути повтори всё то что передаёшь вторым параметром в useMutation, тогда 2го параметра в useMutation использовать не надо
Michael
8080
я не знаю, что в yoga не пускает, наверно надо погуглить...
Michael
Ну это с мутацией, а если я просто хочу сменить переменные для useQuery, без какой-либо мутации? Или я херню говорю
если хочешь динамически по кнопке менять, просто сделать отдельный компонент, который будет только с useQuery и получать параметры и возвращать данные
endifai
вот я это и хотел
endifai
только с компонентом в моем случае не прокатит, данные идут в проп для material ui таблицы
Alexey
Ребят уместно ли выность результат коллбека в глобальную переменную и из нее уже брать value инпута?
Alexey
В этом конечно нет ни какой нужды, но по другому не получается...
arts
В этом конечно нет ни какой нужды, но по другому не получается...
Если не получается, значит, где-то хреново спроектировал
arts
В стейт положи, например
アレクサンダー・バキマトフ
ты б переписки скрывал когда скринишь чтоли)) хотя может оно конечно со стороны кажется чем то интимным))
Alexey
В стейт положи, например
В стейт положить коллбек? Или value ?
arts
В стейт положить коллбек? Или value ?
useState тебе вернёт и значение, и коллбэк. Почитай доку.
El
Привет. Отчего такое в хуках? В <input onChange={evt => debounce(...)(evt.target.value)} /> вместо одного вызова дебаунснутой функции происходит пачка вызовов этой функции с тем, что юзер успел ввести в инпут?
El
Ты каждый раз дебаунс заново создаёшь. И при чем тут хуки?
По каждому эвенту нажатия клавиши происходит новое обращение к debounce(), которое запоминает свою персональную функцию, поданную в debounce()?
Vadim
По каждому эвенту нажатия клавиши происходит новое обращение к debounce(), которое запоминает свою персональную функцию, поданную в debounce()?
Обработчик onChange у тебя это анонимная функция которая с каждым обновлением компонента создаётся заново. Вместе с ней создаётся и новый debounce, поэтому он и не работает. Реакт, хуки и все остальное тут не при чем.
Anonymous
Я короче погуглил, это правда с обновлением CRA связано. Типа, в актуальной версии теперь используются webpack.config.js и webpackDevServer.config.js. Теперь надо попробовать разобраться, как там сасс использовать и цсс-модули
Оно уже работает из коробки, не нужно делать эджект. Импортировать например classes (*любое слово) из файла стилей и в jsx запихивать через байндинг styles={classes.class}
Vadim
В console.log() внутри debounce().
Так подожди. Что ты ожидаешь? Что если ты в onChange пихнешь дебаунс и больше ничего с значением инпута не делаешь то пользовательский ввод будет задебаунсен?
El
Так подожди. Что ты ожидаешь? Что если ты в onChange пихнешь дебаунс и больше ничего с значением инпута не делаешь то пользовательский ввод будет задебаунсен?
Вероятно. Хотел, чтобы юзер успел ввести символы до истечения таймаута и весь этот ввод был залогирован в консоль.
El
qwerty вместо q qw qwe qwer qwert qwerty
Vadim
Вероятно. Хотел, чтобы юзер успел ввести символы до истечения таймаута и весь этот ввод был залогирован в консоль.
Это так не будет работать. Ты не можешь так дебаунсить ввод пользователя. https://ru.react.js.org/docs/forms.html#Контролируемые-компоненты вот читай, изучай
Vadim
решение на https://stackoverflow.com/a/58594348/5524590. Интересно, почему такой мой debounce() не работает. Спасибо.
Это в твоей ситуации не поможет никак. Тебе нужно сделать инпут контролируемым. Я выше ссылку скинул. А потом уже эти дебаунсы накручивать
El
Сейчас думаю, на каждый event создаётся новая функция, завёрнутая в debounce, и она вызывается по истечению таймаута.
Ivan
Всем привет, начал гонять реакт
Ivan
Да блин, бан по времени) Окей, есть в стейте массив элементов. Как из стейта удалить элемент с индексом [3]?
Ivan
нормально ответить влом?
Vadim
нормально ответить влом?
Погуглить перед тем как задать вопрос влом?
Ivan
я имею в виду через setState лол, а не напрямую delete
Мира
https://learn.javascript.ru/array-methods
Dmitriy
Мира
я имею в виду через setState лол, а не напрямую delete
А. то есть обраьться к стейту можно ток через сетСтейт?
Ivan
ну в доках написано, что напрямую не надо
Артем
я имею в виду через setState лол, а не напрямую delete
const set = [...this.state.arr] set.method(3, 1). this.setState({ arr: set });
Тимофей 🛴
ну в доках написано, что напрямую не надо
https://redux.js.org/recipes/structuring-reducers/immutable-update-patterns
Андрей
ну в доках написано, что напрямую не надо
Как из массива получить новый массив без третьего элемента?
Артем
Но вот не помню метод массива, который из него вырезает любой элемент - погугли его
Валік
arr.splice(3,1)
Мира
https://redux.js.org/recipes/structuring-reducers/immutable-update-patterns
Он про обычный стейт классовой компоненты наверн грит, а не про редакс
Артем
arr.splice(3,1)
Точно!!
Мира
А ты прочитай главу
Она не про редакс? В телеге иное написано, ладн
Ivan
Я имел в виду, можно ли удалить элемент из массива, который в стейте, а не пихать туда новый массив?
Тимофей 🛴
Она не про редакс? В телеге иное написано, ладн
Просто глава из доки редакса, где написаны все варианты иммутабельного обновления на чистом js. Предлагаю ее кидать всем новичкам с такими вопросами
Андрей
Я имел в виду, можно ли удалить элемент из массива, который в стейте, а не пихать туда новый массив?
В доке реакта можешь прочитать, что иммутабельность нужна для того чтобы быстро понять изменился объект или нет. Так что ответ: нельзя.
Vadim
ну в доках написано, что напрямую не надо
Ты ж прочитал доку, откуда вопросы
Vadim
Или ты думаешь тут тебе скажут что ну в доке написано что нельзя но на самом деле можно?)
Артем
Не, ну если сильно извратиться, может быть и можно ))) но в чем смысл этого извратства
Vadim
Не, ну если сильно извратиться, может быть и можно ))) но в чем смысл этого извратства
Ну на самом деле если смутировать массив, а потом сделать setState с ним же то будет все ок в некоторых юзкейсах, но могут быть приколы если этот массив передаётся в дочерний компонент который собственно в таком случае и не обновиться потому что ссылка на объект не поменялась.
Артем
Так я про это и говорю, что одна хрень извратство )))
Bril
Добрый вечер. Ребята, как из вне, юзерскрипта или из расширения браузера получить доступ к (пропсам?) "data":{"id":1,....} со страницы с кодом реакта <script>ReactDOM.hydrate(React.createElement(api.pages.Service, {"data":{"id":1,....}})) ?
Tim
Написал компактную фцию для удаления элемента из массива по индексу
Tim
function removeElementWithIndexFromArray(arr, idx) { var newArr = []; function* rangers(ar) { for (let i = 0; i < ar.length; i++) { yield i; } } var rangeWarr = rangers.bind(null, arr); rangeWarr = [...rangeWarr()]; rangeWarr.forEach(e => { e !== idx && newArr.push(arr[e]); }); return newArr; }