Andrey
но если у тебя елементов больше двух, притир все равно строку перенесет и ты не выиграешь строк
ага, а имена для дефолт импортов преттиер тоже за меня расставит? это не про строки, а про количество кода, написанного вручную
wolfe
и разница?
Субъективно — удобнее
Andrey
мне webstorm импорты делает такие
вскод предпочитает тянуть из индекса именованные ¯\_(ツ)_/¯
wolfe
ага, а имена для дефолт импортов преттиер тоже за меня расставит? это не про строки, а про количество кода, написанного вручную
А это уже достаточно весомый аргумент. Можно дефолтом назвать компонент по-другому и будет парам-пам-пам. Сталкивался с этим, не очень приятная ситуация
Oruj
а зачем передавать пустую функцию в hoc? если можно сразу export default (Wrapped)
Bogdan
а зачем передавать пустую функцию в hoc? если можно сразу export default (Wrapped)
видимо так она работает внутри, карирование, ожидает твой компонент вторым вызовом, а не первым
Bogdan
ага, а имена для дефолт импортов преттиер тоже за меня расставит? это не про строки, а про количество кода, написанного вручную
хз, от 5сек ты особо не наекономишь, есть такая магия, вс код светит пути ctr+space и он подсосет тебе импорт
Andrey
а зачем передавать пустую функцию в hoc? если можно сразу export default (Wrapped)
в первый вызов обычно конфиг передается почему у тебя написано так (первое замыкание вызывается без аргумента) - вопрос исключительно к тебе\
Andrey
хз, от 5сек ты особо не наекономишь, есть такая магия, вс код светит пути ctr+space и он подсосет тебе импорт
5 сек? лол вскод импортит из индекс файла, во всяком случае по дефолту
Bogdan
5 сек? лол вскод импортит из индекс файла, во всяком случае по дефолту
я тебе про такое говорю, он сам импортит, а про 5 сек, я думал ты поймешь, имелось ввиду скорость печати рукой
Bogdan
да там тоже export default () => (Wrapped) => {...} но можно же сразу (Wrapped) =>
не убери первый вызове если тебе не нужен, я же хз что за компонент, export const Wrapper
Oruj
не убери первый вызове если тебе не нужен, я же хз что за компонент, export const Wrapper
лол это на курсах. я сам не понял зачем он это делает. думал вдруг чтобы в компосе норм срабатывал. но врядли. спасибо
Sergey
This week in react #42 Читаем здесь: t.me/this_week_in_react • экспериментальный Concurrent режим • новые хуки • пререлизный канал • selective hydration • react 16.11 и другое Скоро будут ещё пачка новостей
Bogdan
я тебе про такое говорю, он сам импортит, а про 5 сек, я думал ты поймешь, имелось ввиду скорость печати рукой
и не обязателен реекспорт, достаточно в любом компоненте просто експорт впихнуть, редактор найдет
Вася
спасите меня от этого ESLint: Failed to load config "react-app" to extend from.
Denis
спасите меня от этого ESLint: Failed to load config "react-app" to extend from.
я погуглил за тебя и вроде как есть ишью https://github.com/microsoft/vscode-eslint/issues/750
Denis
спасите меня от этого ESLint: Failed to load config "react-app" to extend from.
и вроде как это в eslint 6.0, попробуй поменьше версию поставить. фикседгиржив
Вася
и вроде как это в eslint 6.0, попробуй поменьше версию поставить. фикседгиржив
интересно) слушай а может есть открытая вакансия на реакт?
Andrey
я тебе про такое говорю, он сам импортит, а про 5 сек, я думал ты поймешь, имелось ввиду скорость печати рукой
повторяю 3й раз в материале без плагина импорт из индекс файла приведет к тому, что в проекте будет весь пакет при импорте дефолтов, вскод их не тянет, он берет их из индекса импорты приходится писать вручную, что далеко не 5 секунд, в масштабе задачи (когда они встречаются чуть чаще, чем в каждом файле с компонентом)
Вася
посмотри тут https://t.me/javascript_jobs
об этом я в курсе. думал может фикседгир поможет
Andrey
если ты покажешь тут индекс файл, я дам тебе печеньку
импортни не хук, а чтонибудь из материала господи боже лишь бы выебнуться, со своими печеньками
Bogdan
я тебе факт говорю, мне глубоко плевать на твой материал, можешь импортировать не из индекс файла
Denis
об этом я в курсе. думал может фикседгир поможет
понял тебя, но помочь не могу( спроси в чатике, там вроде прогромисты есть
Andrey
проблемы vscode...Ююю
ну, не то, чтобы проблемы если бы вебшторм на выбор предложил дефолт/именованный то я бы признал 😬
Bogdan
магия вот тебе, не индекс, не хук, хз даже что за файл
🦜
ну, не то, чтобы проблемы если бы вебшторм на выбор предложил дефолт/именованный то я бы признал 😬
Предлагает кстати, у меня просто в проекте дефолт и он уже на основании моих импортов предлагает только такие
Andrey
я тебе факт говорю, мне глубоко плевать на твой материал, можешь импортировать не из индекс файла
> тред про импорты в материал > мне глубоко плевать на твой материал окей
Denis
ты про москву?)
ага, ну и про спб тоже
Andrey
блин, прикольно хотю
🦜
блин, прикольно хотю
12.90$ в месяц 🐊🐊🐊🐊🐊
Daniil
12.90$ в месяц 🐊🐊🐊🐊🐊
Или быть студентом
Andrey
12.90$ в месяц 🐊🐊🐊🐊🐊
ценник растет на глазах не, мне на моей удобнее, просто надеюсь, что возьмут на заметку в будущем)
Таймураз
@hexagon141 спасибо Жив?
Andrey
мне компания оплачивает 💁‍♂️ meh
(да ето шутка была, мол сначала 12, потом 12,90 стало уже в сообщении 😬)
Sergey
вскод делает аналогично только дефолты говно
Bogdan
учи английский
как же я раньше не догадался то? теперь точно начну
Sergey
как же я раньше не догадался то? теперь точно начну
в разработке без английского делать нечего
Bogdan
в разработке без английского делать нечего
80 процентов что то делают, я хз, ну потиху пытаюсь
Stas
привет всем. а eslint умеет сам проверять типы ts или нужно отдельно дергать tsc?
Andrey
вскод делает аналогично только дефолты говно
с материалом не тянет (он светит 2 импорта, но при попытке импортнуть дефолт, просто импортит из индекса 🌚)
Anonymous
А в чём вкратце отличается Notification API от Push API?
公墓
One ass?
Именно он!
Kenya-West
One ass?
Odin' Ass
Igor
И все же вопрос, что лучше для работы с реактом + тс, вс код или атом? Я пока на атоме, напичкал пакетами, но есть пару нюансов
Igor
Атом жив ещё?
Anonymous
da
Igor
Вполне, обновления приходят даже
Aidyno
Ребзя такое дело const Company = ({ id }) => { const companiesContext = useContext(CompaniesContext); const { getCompanyInfoById } = companiesContext; useEffect(() => { getCompanyInfoById(id); }, [id]); const { company } = companiesContext; const [companyData, setCompanyData] = useState({ name: company.name }); при рендере сразу кричит, что `name` is undefined. Как мне засинхрониться*?
Aidyno
`getCompanyInfoById(id)` определяет поле `company`
Igor
Ребзя такое дело const Company = ({ id }) => { const companiesContext = useContext(CompaniesContext); const { getCompanyInfoById } = companiesContext; useEffect(() => { getCompanyInfoById(id); }, [id]); const { company } = companiesContext; const [companyData, setCompanyData] = useState({ name: company.name }); при рендере сразу кричит, что `name` is undefined. Как мне засинхрониться*?
у тебя в эффекте дергается функция из контекста для получения компании по апи? Никак, тебе нужно по дефолту рендерить name с пустой строкой, а в эффекте, когда компания приходит - обновлять стейт
Daniil
Если он у тебя не сразу приходит, то может через лейзи инициализацию или тригерить и ловить через useEffect когда он придет
Igor
сразу на первый рендер никак не получится, потому что useEffect срабатывает перед рендером и у тебя пытается отрендерить инфу с несуществующими данными на этом этапе
Igor
рендерить пустые данные, обновлять их когда они будут получены
Igor
либо из родителя условный рендер, когда данные по запросу получены
Daniil
а что чаще в таком случае используешь из 2-х предложенных вариантов?
У меня стейт редко от контекста или пропсов зависит
Daniil
а что чаще в таком случае используешь из 2-х предложенных вариантов?
Я бы предположил, что через юз эфект не будет проблем с этим
Yury
просто всегда useEffect для такого, после твоего сообщения задумался о лейзи )
Aidyno
либо из родителя условный рендер, когда данные по запросу получены
const Company = ({ id }) => { const companiesContext = useContext(CompaniesContext); const { getCompanyInfoById } = companiesContext; useEffect(() => { getCompanyInfoById(id); }, [id]); const { company } = companiesContext; const [companyData, setCompanyData] = useState({ name: '' }); useEffect(() => { if (company) setCompanyData({ name: company.companyInfo.name }); }, []);