Ilya
Выбирать цсс ин жыес не с рантаймом 🙃
тут смысл в том что этим "perfomance shit" зачастую разумно принебречь - в пользу удобства декларации, единого источника описания, более лаконичной организации исходников - ну и само собой именно рантаймовая рефлексия стилей исходя з контекста JS - это самый главный приоритет
Ilya
Я про css in js ничего не говорил
да как-т я не удачно слинковался - там выше началось все с "Есть проект на стайледах..."
Sherzod
Среди ваc, найдется ли люди которые ненавидят Джс?
Bogdan
чем ReactNode отличен от Node. от ComponentType, от JSX.Element. от React.FC, и подобных типов?
Bogdan
кто поможет?? битый час уже делаю....
стоит и ошибку показать
Yury
кто поможет?? битый час уже делаю....
так а код загружчика где и ошибка ?(
Yury
вот такая
а ты какого формата отправляешь ?
Yury
так ты строку так и отправляешь ?)
Shatalov
не понял...??
Ilya
чем ReactNode отличен от Node. от ComponentType, от JSX.Element. от React.FC, и подобных типов?
Это разные типы с разным источником происхождения :) Есть кейсы где все эти типы задействуются так или иначе. Такой зоопарк родился еще до inference, сейчас с этим попроще.
Bogdan
Это разные типы с разным источником происхождения :) Есть кейсы где все эти типы задействуются так или иначе. Такой зоопарк родился еще до inference, сейчас с этим попроще.
нет, какой то из них опишет результут вызова ф-и createElement, какой то опишет именно функу, не могу найти к чему какой нужен
Yury
не то отправляю??
ну посмотри в браузере в Headers -> Request Payload
Ilya
нет, какой то из них опишет результут вызова ф-и createElement, какой то опишет именно функу, не могу найти к чему какой нужен
ReactNode - это то что может быть среднерено (т.е. валидные для рендера данные) JSX.Element это результат рендера в частности с использование JSX если идет его присвоение ComponentType это декларация именно компонента и т.д.
Alexey
git clone https://github.com/Juriy/pro-react-redux/tree/master/star-db/70-passing-function-as-data-sources почему я не могу скопировать данный репозиторий?
Ilya
https://reactjs.org/docs/glossary.html вот тут, не знал, как толком различить компонент/елемент, jsx
оф. документация об этом вам не расскажет так как TS для React это стыковая технология, тут смотреть официально поставляемые типы, они очень не дурно написаны - понятные именования, не особо мозгодробительные дженерики и т.д. выше @kurzdor уже давал ссылку на https://github.com/typescript-cheatsheets/react-typescript-cheatsheet это поможет разобраться...
Igor
не то отправляю??
Вы отправляете строку, которая является путем, а нужно отправлять сам файл (у input с типом file есть свойство files, в котором лежит массив выгруженных файлов)
Igor
не то отправляю??
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#files
Kurzdor
Но скажу, писать на Тайпскрипте по началу больно, ибо сборка ругается
Artyom
Но скажу, писать на Тайпскрипте по началу больно, ибо сборка ругается
Т.е. ругается сборка? В react-create-app всё предустановлено без warning’ов
Китикет
https://reactjs.org/docs/glossary.html вот тут, не знал, как толком различить компонент/елемент, jsx
Все просто, нода - это любая штука, которая может быть отрендерена, включая строки, числа и подобные базовые типы, компонент - класс/функция, тем или иным образом рендерющая ноду, элемент - нода, но не включая базовые типы, то есть созданная с помощью jsx
Ilya
Но скажу, писать на Тайпскрипте по началу больно, ибо сборка ругается
ну можно поколдовать с кофигурациями tslint и самого ts - таким образом чтобы снизить требовательность - на "переходном" этапе (когда переписывают на TS) это может пригодиться - ну если только нет конечно явных проблем которые просто не дают TS скомпилироваться. PS: Иногда когда никаr не удается порешать с типами в сложной части кода, опять таки на переходном этапе, можно просто из ts|tsx ренеймнуть в js|jsx, если код таки валидный... но это только под ToDo чтобы апосля разобраться. Если что, я вам этого не говорил :) это костыляузы. Но иногда так можно сделать потому что, чтобы типизировать слождный кусок кода с кучей зависимостей просто невозможно, так как поступательно надо написать 100500 типов для всего что "трогается" а прямо сейчас это overkill
Bogdan
Все просто, нода - это любая штука, которая может быть отрендерена, включая строки, числа и подобные базовые типы, компонент - класс/функция, тем или иным образом рендерющая ноду, элемент - нода, но не включая базовые типы, то есть созданная с помощью jsx
так как таковых елементов нету, потому что компонент сразу попадет в createElement, в нем же нету роазделения неа елементы, тупо обьект, который вернет уже саму ноду, елемент что ли чисто визуально только в jsx увидеть только?
Bogdan
компонент => вернет jsx => вызов createElement => вернет ноду, я же так понял или что то еще тут
Китикет
И то что на выходе, это значение не имеет, разделение важно только для исходного кода
Dmitry
компонент => вернет jsx => вызов createElement => вернет ноду, я же так понял или что то еще тут
declare type React$Node = | null | boolean | number | string | React$Element<any> | React$Portal | Iterable<?React$Node>; все что нужно знать в целом все так jsx -> createElement(): React$Element сам компонент это просто функция возвращающая React$Node
Bogdan
что за питарские типы через долар, это во флоу так или что жто
Китикет
ну цепочка событий то так выглядит?
Ты че добиться-то хочешь?
Bogdan
Ты че добиться-то хочешь?
в смысле чего? цикл описал и хочу узнать такой он или не такой
Bogdan
И что не понятного?)
что я упустил или что не добавил
Китикет
Упустил где, не добавил где? Я вообще не понимаю о чем ты, у тебя изначально вопрос был про то зачем все эти типы
Китикет
.
jsx это уже элемент, а значит и нода) createElement тоже вернет элемент, это тоже нода. А вот строка "hello" это не элемент, но валидная нода которая может быть зарендерена, и null тоже
i
всем привет. немного по теории ооп в js и js в целом, вот в dispatch передаётся ф-ция с уже вбитым в неё методом, то бишь ф-ция исполняется и диспатч получает по сути ни экшен, ни ф-цию, как он понимает что в передаваемую ф-цию надо подшить dispatch перед её выполнением?
i
извиняюсь если криво сформулировал вопрос, просто реально не понимаю как диспатч ловит ф-цию, если она передаётся не как объект а как исполняемое выражение, то бишь диспатч то должен лровит уже результат исполения ф-ции
Китикет
всем привет. немного по теории ооп в js и js в целом, вот в dispatch передаётся ф-ция с уже вбитым в неё методом, то бишь ф-ция исполняется и диспатч получает по сути ни экшен, ни ф-цию, как он понимает что в передаваемую ф-цию надо подшить dispatch перед её выполнением?
Это не так работает) Сначала ресолвятся внутренние зависимости (выполняется echoEventsProfile с аргументом channelPublic), а с его результатом в качестве аргумента уже вызывается dispatch
i
просто к слову
i
о, как, есть какая-нить статься для чаййников по этому вопросу?
Китикет
А получает он экшн как раз, это равноценно коду const action = echoEventsProfile(channelPublic) dispatch(action)
444
всем привет! какая либа для графиков под реакт самая горячая?
Stripe
Привет всем у меня есть список такой export const menuList = [ { componentName: 'MenuItemLink', to: '/courses', primaryText: 'course.name', leftIcon: <FeaturedPlayListIcon/> } ]Как мне потом обойти все елементы и создать компонент <MenuItemLink> из строки?
Stripe
const listItems = menuList.map((item) => { const ComponentName = item.componentName; return <ComponentName />; } ); ТАк не работает, так как должна быть функция а не строка...
Stripe
Подскажи пожалуйста, как?
Maxim
Подскажи пожалуйста, как?
leftIcon: <FeaturedPlayListIcon/> как тут
Kurzdor
Подскажи пожалуйста, как?
Ну жсэкс это функция по сути, а в проперти можно записать функцию, не так ли?)
Тимофей 🛴
Shatalov
парни, ну подскажите пожалуйста как мне файл загруженый передать???
R
<input type="file" name="url" id="url" onChange={function(event) { setFieldValue("url", event.currentTarget.files[0]); }} onBlur={handleBlur} />
R
let form = new FormData(); form.append("file", values.url);
Китикет
Капец блин, обновил react-scripts вылетает unhandled network error из axios, понятия не имею чо с этим делать
Китикет
А, е мое, я придурок просто
Shatalov
Ostia
Есть ли пакет, который будет автоматически называть мне вторую константу при объявлении хука? Типа я пишу const [something, setSomething] = useState(''); и вот setSomething он мне сам дописывает
Если что, я все же написал сниппет для этого) { "key": "ctrl+alt+t", "command": "editor.action.insertSnippet", "when": "editorHasSelection", "args": { "snippet": "const [${TM_SELECTED_TEXT}, set${TM_SELECTED_TEXT/(.)/${1:/upcase}/}] = useState($1)" } }
Yury
это понятно
видимо Вам не понятно )
Shatalov
видимо Вам не понятно )
не получаеться.Ты можешь помочь?)
Китикет
это понятно
Так в чем проблема-то?)
Ostia
блин, не могу гифку запостить((
Кароче выделаешь текст(мультикурсор тоже пашет) и нажимаешь комбинацию клавишь
Ostia
https://files.catbox.moe/eavxli.gif
Китикет
не получаеться.Ты можешь помочь?)
Зачем тебе файл через аргумент передавать в formLoad? Из стейта бери