Sergiy
стоит притир и на сохранение исправление
какие настройки нужно проставить?
Bogdan
ipos
да, но изначально недолжно быть там значения, как то нужно писать в стейт эти новые пля динамически, я видел там что то вроде FieldArray было
ну FieldArray помогает в случае однотипных кусков формы, в принципе да он мог бы подойти, но начальные значения все равно в initialValues надо подставлять
Alexander
А можно ли выполнить действие в функциональном компоненте ПЕРЕД рендером? У меня рендер опирается на пару проверок. Я так понимаю useEffect такого не умеет?
Alexander
почему бы не сделать проверку в родительском компоненте и на том уровне решить что рендерить?
Это и есть родительский компонент. В App должна произойти небольшая проверка, после чего отрендерятся ещё пару компонент с нужными пропсами. Если проверка не будет пройдена за раннее - то я элементарно в дочернии компоненты ничего не передам, и ничего работать не будет.
Alexander
Перед ретурном делать
О, разобрался, спасибо. Внутри проверки использовал let, из-за этого результат не был виден снаружи if. Забыл про область видимости переменных let.
Eduard
Посоветуйте плз либу какую- нибудь для визуализации данных. Графики, гистограмы. Только не тяжёлую (Не d3) Желательно на канвасе, но можно и свг
Mihail
что всех так на плееры понесло то
Looch
Тебе надо стримить ?
El
Пособите с импортом хуков в Реакт с TypeScript. Импортирую Реакт в файл через import React, { useState } from 'react';. Браузер пишет в консоли TypeError: react_1.default is undefined. Других ошибок: в терминале или консоли TypeScript нет. import * as React from 'react'; отображает страницу в браузере. Как использовать первый способ импорта? Версии все свежие.
El
allowSyntheticDefaultImports: true в конфиге тайпскрипта
Это было. Помогло "esModuleInterop": true.
Looch
Тогда начинай с https://developer.mozilla.org/ru/docs/Web/API/MediaStream
El
Как не вызывать useEffect в таком коде, когда query это пустая строка? Это её начальное значение в const [query, setQuery] = useState(''); useEffect(() => { fetch(`https://api.github.com/search/repositories?q=${query}&per_page=5`) .then((res) => res.json()) .then((data) => { if (data.message) alert(`Github request error: ${data.message}`); setRepos(data.items); }) .catch((err) => console.log('Github API error:', err)); }, [query, setRepos]);
El
Сделал query && fetch(...).
Dmitry
El
Тоже перед fetch?
Илья
Тоже перед fetch?
Не перед. А обернуть запрос.
Илья
И все. Не надо логического «И».
El
Запись query && fetch(...) менее красивая?
Danila
Запись query && fetch(...) менее красивая?
Более. Ещё и на нуллы и прочие пустые строки проверяет
Тарас
можно (где то читал, и надо) запрос выносить в отдельную функцию и запускать ее на эффекте а уже в функции можешь расписывать разную условную логику
El
Запрос будет в action, тот будет в useEffect(). Чуть позже.
Тарас
экшн будет на thunk?
El
Да.
El
экшн будет на thunk?
Если нужна статья по типизации, могу дать такую. В ней без сторонних библиотек.
Андрей
Что то у меня не запускается сайт через pm2, может кто подсказать почему? В девелоп моде сайт запускается в продакшен може нет, логи pm2 чистые типо процесс запущен и всё ровно, но на странице 404
Андрей
https://toster.ru/q/658724
Oleg
https://toster.ru/q/658724
это в https://t.me/nodejs_ru
Vasyl
Друзья, кто умеет в flex, у меня есть обычные блоки с flex-direction: column; Мне нужно чтобы они расстягивались не просто вниз друг за другом в один ряд, а в два ряда, только в два, а если экран маленький (моб.устройство) то в один. Как можно так сделать? Вот я пробовал https://jsfiddle.net/Vasylcode/ydsohbmt/
Aleksei
Может кто подскажет алгоритм перебора для дерева чекбоксов, пока только вижу через рекурсию?
Vasyl
Понял, спасибо )
Aleksei
я по примерам видел везде в либах испльзуется вложенные структуры (вот например https://github.com/react-component/tree) и потом их обходят рекурсивно, может есть другой вариант, рекурсия как то не айс для больших данных
Vasyl
Сделал такие колонки на гридах, но когда с моб устройства смотреть то они просто сжимаются, какое свойство в медиа запрос прописать чтобы оставалась только одна колонка (вместо двух) и они все выравнивались вниз?
Vasyl
Я имею ввиду свойство для гридов
Vadim
Я имею ввиду свойство для гридов
Ну а как ты написал чтобы было две колонки?
Vasyl
display: grid; grid-template-columns: 50% 50%;
Vadim
display: grid; grid-template-columns: 50% 50%;
Ну 100% не пробовал написать?
Vasyl
О, нашел решение
Vasyl
спасибо )
Vasyl
😂
Anonymous
ребят, подскажите пожалуйста, у меня ButtonGroup не адаптируется под мобилки, если задавать конкретную ширину кнопки, а если не задать - то все разной длины, а нужно одинаковой
Anonymous
как быть?
Anonymous
как не задавая ширины через стили сделать кнопки одинаковыми?
Aleksei
Норм либы делают плоскйи Map и управляют стейтом через него
как плоский сделать, норм либа ссылку можно или пример плоской структуры?
Looch
как плоский сделать, норм либа ссылку можно или пример плоской структуры?
Тебе рендерить надо рекурсивно, а стейт чекнутых, анчекнутых можно и в плоском виде хранить :)
Артур
The reducer function's responsibility is to handle the state transitions in an immutable way. Это просто цитата из ngrx.io. Зачем нужна эта сакральная иммутабельность? В Яваскрипте. Почему она так хайпанула за последний год-полтора? Иммутабельность... штобы што?
Looch
На самом деле есть свои + и свои - как и любого подхода
Артур
я не про редакс, а конкретно про иммутабельность
Aleksei
Тебе рендерить надо рекурсивно, а стейт чекнутых, анчекнутых можно и в плоском виде хранить :)
хранить можно в любом, но нужно обходить эту структуру при изменении одного из потомков или обойти всех потомков при изменении родителя
Артур
про редакс в ангуляре я потом отдельно спрошу, ибо это тоже пц какой-то
Looch
я не про редакс, а конкретно про иммутабельность
Ну я тебе говорю что из-за редакса
Cenator 🐈
wolfe
я не про редакс, а конкретно про иммутабельность
вы бы хоть базовые вещи про иммутабельность прочли, прежде чем такое вбрасывать
Cenator 🐈
+
Артур
вы бы хоть базовые вещи про иммутабельность прочли, прежде чем такое вбрасывать
иммутабельность данных — это когда ты не изначальный объект модифицируешь, а когда клонируешь его и у тебя новый объект, и так каждый раз — я правильно понимаю?
Looch
Этот вопрос в @js_noobs_ru
Я бы все таки не говорил бы что этот вопрос так очевиден
Aleksei
Ну да, ререндер будет всей коллекции или можешь просто ноды делать со стейтом и все
вот примерчик бы такой реализации, а то на словах непонятно деталей, в коде бы это увидеть