
Nikita
01.05.2017
21:55:03

Mikhail
01.05.2017
21:56:04
reselect ?
да, но можно и просто функцию если не запариваться про композируемость и мемоизацию

Nikita
01.05.2017
23:12:41
да даже абрамов такого не говорил)

Mikhail
01.05.2017
23:12:50
абрамов такое не говорил

Google

Maxim robox
01.05.2017
23:44:46
Я аж моментально проснулся.

Zaur
01.05.2017
23:50:58
Скиньте ссылку на чат электрона, пожалуйста

Alexander
02.05.2017
00:44:01

Maxim robox
02.05.2017
00:44:22

Alexander
02.05.2017
00:45:03

Maxim robox
02.05.2017
00:45:19
А, тьфу. Нет. Гоню.

Yumi
02.05.2017
01:08:50

Maxim robox
02.05.2017
01:33:32
Есть смысл хранить файлы с расширением *.jsx?
А то я по инерции так делал. А сейчас задумался, надо ли.

Michael
02.05.2017
01:38:42
а что не так с ними? если там внутри реально jsx, то почему нет? :)

Maxim robox
02.05.2017
01:40:59

Michael
02.05.2017
01:44:53
хорошая практика давать файлам то расширение, что они содержат.
хелперы, скорей всего, это чистый js.
реактовые компоненты, написанные через React.createElement являются чистым js, поэтому .js к ним применимо, а вот return <div /> уже не чистый, поэтому лучше .jsx

Evgeny
02.05.2017
02:24:18
Т.е. если при рефакторинге jsx из кода убрался, то и файл надо будет переименовывать?

Google

Pavel
02.05.2017
03:01:56
.jsx не нужен

Nikolay
02.05.2017
04:02:14
Хорошо, что с TypeScript таких проблем с расширением нет)

Pavel
02.05.2017
04:06:57

Dima
02.05.2017
06:49:23
После php и ruby разбераюсь с js+react. Непривычен подход к импорту, обычно если в файле родителе подключена библиотека то ее видно во всех файлах включенных в вайл родитель.

Max
02.05.2017
06:50:00
в питоне такого нет
и слава богу
явное лучше неявного

Dima
02.05.2017
06:51:23
явное лучше неявного
вопрос спорный. Интересен сам механим видимости. От чего в каждый модуль надо подтягивать библиотеку, нет ли дублирования?

Max
02.05.2017
06:52:44
потому что тебе надо показать что этот js файл на самом деле jsx

Bogdan
02.05.2017
06:52:45
механизм очень простой: есть импорт - есть модуль, нету импорта - нету модуля

code4aman
02.05.2017
06:53:08

Олег
02.05.2017
06:53:15
Ты хочешь сказать, что надеяться на то что в родителе будет подключена нужная либа – лучше?)

Dima
02.05.2017
06:53:53

Max
02.05.2017
06:54:25
дублирования нет

code4aman
02.05.2017
06:54:27
дублирования не будет, засчет вебпака например

Dima
02.05.2017
06:55:14

code4aman
02.05.2017
06:56:34
но кстати момент интересный - не знаю как в пхп и руби - но тут из-за "компиляции" такие плюшки есть
а там будет дублироваться? в пхп или руби?

Google

Amandos
02.05.2017
06:58:02
Ребята разработка медиа портал как olx.kz сколько будет стойт

Dima
02.05.2017
06:58:40
а там будет дублироваться? в пхп или руби?
да я как-то не задумывался над таким вопросом. Не должно. В пхп inculde было как что то на подобе склейки файлов в один большой. Следовательно и общая область видимости.

Max
02.05.2017
06:59:57

Dima
02.05.2017
07:02:00
Наверно при import/export в es6 подключаемый модуль не видит переменных из области видимости родителя. С этим указываением в export что именно мы экспортируем. Другой подоход.
По этому инадо указывать библиотеки явно.

Max
02.05.2017
07:03:44
чувак
импорт реакта нужен для того чтобы компилятор знал что будет jsx
не надо искать другие причины

Vladimir
02.05.2017
07:04:12

Max
02.05.2017
07:04:28
навскидку за пару лямов сделать можно простую доску + подключить оплату

code4aman
02.05.2017
07:05:24
По этому инадо указывать библиотеки явно.
ага, в этом и смысл модулей же, а как в других стеках делается - понятно что не будет дублирования - это уже другой вопрос, тут например можно на чанки делить и подгружать их асинхронно

Dima
02.05.2017
07:05:58

Алексей
02.05.2017
07:06:24
не в этом же дело, просто <div /> будет React.createElement('div') и поэтому нужно чтобы React был в области видимости модуля

Max
02.05.2017
07:08:49
если использовать jsx а не js то импорт не обязателен

Vladimir
02.05.2017
07:09:09
Импорт обязателен всегда

Алексей
02.05.2017
07:09:13

Max
02.05.2017
07:09:20
только что проверил )

Google

Max
02.05.2017
07:09:50
вопрос не в области видимости а в том что сахар надо распарсить сначала
сделать из <div / > => React.createElement(‘div’

Алексей
02.05.2017
07:10:33
ты сейчас не так проверил
ошибка то будет в рантайме

Max
02.05.2017
07:10:48
ээээ

Алексей
02.05.2017
07:10:52
когда будет пытаться .createElement вызвать

Max
02.05.2017
07:11:11
уно моменто

code4aman
02.05.2017
07:11:31

Admin
ERROR: S client not available

Max
02.05.2017
07:11:48
посыпаю голову пеплом
я считал что jsx автоматом реакт импортит

Алексей
02.05.2017
07:12:53
если какой то особый лоадер юзать, то думаю такое можно устроить)

code4aman
02.05.2017
07:12:53
/цитата про явное лучше не явного/ ?

Max
02.05.2017
07:12:56
иначе странно

Dreamerinnoise
02.05.2017
07:13:07

Max
02.05.2017
07:13:08

Dreamerinnoise
02.05.2017
07:13:26
Юзают jsx, не помнят, что под капотом

Max
02.05.2017
07:14:50
хуйню сказал
“не правильно понимал как работает” != “не помнит”

Google

Max
02.05.2017
07:15:33
я думал что компилер ищет jsx либо по расширению либо по импорту реакта

Dima
02.05.2017
07:16:01
const TestComp <=== const исползьуется для оптимизации, или для читабельности?

Max
02.05.2017
07:16:28
не понял вопроса

Алексей
02.05.2017
07:16:44
> по импорту реакта
такое только в емаксе встречал чтобы major mode для файла выставить)

Max
02.05.2017
07:16:51

Алексей
02.05.2017
07:17:05
что флоу?)

Max
02.05.2017
07:17:20
он же вроде по наличию /* @flow */ начинает тайпинги проверять
или как там

Алексей
02.05.2017
07:17:39

Max
02.05.2017
07:17:41
// @flow
тогда вопрос
если компилятор знает что реакт не импортрирован
почему эту ошибку сразу не выводит
реакт как-то можно в глобальный скоуп запихать?
или что

Алексей
02.05.2017
07:19:24
не думаю что компилятор такой умный и может преобразовать jsx и тут же еще статически все проверить

Dreamerinnoise
02.05.2017
07:19:37
Тайпскрипт скажет
А Бабель нет

Max
02.05.2017
07:19:59

Dreamerinnoise
02.05.2017
07:20:31

Алексей
02.05.2017
07:20:46