
Джон
05.02.2017
14:54:33
хочется раз настроить и забыть

Сергей
05.02.2017
14:54:48
еще практикуется ставить пробел между скобками и содержимым в jsx
например ={ this.state.email }
но это тоже мелочи конечно

Google

Джон
05.02.2017
14:55:15
так типа?

Vasiliy
05.02.2017
14:55:40
ну вот, я ж говорю, щас научат) пробелы внутри скобок и тп) берите airbnb и все, остально внутри команды обсуждается за 5 минут и го

Сергей
05.02.2017
14:56:52
согласен) все так и делают обычно

Джон
05.02.2017
14:57:27
просто такие мелочи потом создают проблемы с коммитами, когда немного меняется форматирование, и в итоге... ну вы поняли
ну ок пока оставлю так, а там уже договоримся
спасибо

Alan
05.02.2017
14:59:05
standard ещё норм, к вебсторму прикручивается последнему
зачем обсуждать в команде стандарт)
выбрали и все

Dmitrii
05.02.2017
15:00:43
у airbnb шлак полный eslint

Google

Dmitrii
05.02.2017
15:01:01
standard лучше + свои кастомные рулы

? Алёна
05.02.2017
15:01:19

Dmitrii
05.02.2017
15:02:16
да рубистов и питонистов сразу за версту по коду видно, когда в JS лезут

Lupsick
05.02.2017
15:03:38

Dmitrii
05.02.2017
15:08:04
почему?
лично мне он не нравится, отсутствие точек с запятыми, были еще различные косяки, JS получается не такой теплый и ламповый. Я щас не слежу за ними активно

Vasiliy
05.02.2017
15:09:41
в airbnb вроде наоборот правило: "ставить точки с запятыми"

Dmitrii
05.02.2017
15:10:12

Lupsick
05.02.2017
15:10:55

Vasiliy
05.02.2017
15:11:52
ну не суть, просто имхо: "одинаково" иногда важнее чем "лучше"

Dmitrii
05.02.2017
15:12:23
вообще все готовые пресеты это как create-react-app, хорошо подойдет что то потестить, или для очень мелкого проекта, но когда работа от месяца и более, стоит сделать кастом
https://github.com/felixge/node-style-guide вот такой больше по душе как то, описаны самые основные вещи, нигде не перегибается палка, более гибко уже сам доделываешь

Vasiliy
05.02.2017
15:16:47
я даже свой конфиг сделал под себя
https://github.com/vyorkin-personal/eslint-config-vyorkin
но я не пользуюсь им, тк работаю на работе, а там надо чтобы одинаково) только для своих каких-то экспериментов и все, но по-моему это упоротость все

Ҫѐҏӗѫӑ
05.02.2017
15:30:29

Safort
05.02.2017
15:40:19

.
05.02.2017
15:48:25

Котяй Негодяй
05.02.2017
16:01:17
Кто тестил компонеты с помощью Jest?

Ruslan
05.02.2017
16:31:31

Сергей
05.02.2017
16:49:04

Котяй Негодяй
05.02.2017
17:07:52
Да мне тут адаптивность компонента затестить надо.
Но я уже, вроде, понял как.

Google

Nikolay
05.02.2017
17:26:46
Ну что, уже можно на второй вебпак переезжать?

Никита
05.02.2017
17:27:20

Nikolay
05.02.2017
17:30:32
ну вот читаю
вроде не так много

Danil
05.02.2017
18:03:01
Можете, плиз, отревьюить код моего первого приложения на реакте?

Sheridan
05.02.2017
18:05:00
Код херня, надо всё переписать

Andrew
05.02.2017
18:05:30

Danil
05.02.2017
18:06:10
https://github.com/shashkovdanil/reacttodoapp.io

Andrew
05.02.2017
18:07:11
а нахрена расширение файлам ставишь Jsx? охота с вебпаком дополнительно танцевать? :)

Danil
05.02.2017
18:07:37
В смысле?

Andrew
05.02.2017
18:08:51
вот у тебя бабель подключен, чего бы ты хэндлеры стрелочными функциями не реализовал, тогда байндить не надо было бы в конструкторе

Danil
05.02.2017
18:10:23
Там я так понимаю стэйдж 0 подключить надо для этого?

Andrew
05.02.2017
18:10:45
чего 0 то сразу? стрелочники вроде давно уже в ходу
много где нативно поддерживаются
у тебя нода какой версии?

Danil
05.02.2017
18:11:32
Тогда методы внутри класса handleClick = () => {} так записывать?

Andrew
05.02.2017
18:11:49
ну попробуй, да
стрелочник автоматом привязывается к контексту родителя вроде

Danil
05.02.2017
18:12:04
Ну я так делал, у меня почему то ошибка падала
Указывала она на такую запись метода

Google

Andrew
05.02.2017
18:12:48
https://github.com/shashkovdanil/reacttodoapp.io/blob/master/src/App.jsx вот там список тудух я бы вынес в отдельный компонент, вместе с мапой

Danil
05.02.2017
18:14:00
Ну да, я завтра разобью ещё на компоненты и чтоб потом в index.js только рендер был

Andrew
05.02.2017
18:14:08
даже так, тудуху в отедльный компонент, и мапу в отдельный компонент

Danil
05.02.2017
18:14:59
А сохранение в локал сторэдж нормально сделано?

Andrew
05.02.2017
18:15:47
ну тут есть 2 подхода
лоакалсторадж хранит по сути пары ключ-строка, и можно хранить все в одном ключе, либо как ты, раскидывать по разным. я пока однозначно не скажу что лучше

Danil
05.02.2017
18:16:51
Ну я сделал по одному чтобы удалять можно было

Andrew
05.02.2017
18:16:53
ну то что префикс есть, это уже хорошо :)
а вот такой момент - произвольно менять местами тудухи если бы понадобилось, как бы ты этот момент реализовал?

Admin
ERROR: S client not available

Danil
05.02.2017
18:19:05
Пока даже не думал об этом

Andrew
05.02.2017
18:19:29
вот ты меняешь статус или меняешь тудуху, а в сторадж не отражаешь изменения :)

Danil
05.02.2017
18:19:55
Упс, вот это не проверил)
Завтра пофикшу

Andrew
05.02.2017
18:20:47
вот это название не отражает суть имхо cachedTodo()
я бы назвал это дело storedTodos()
все же я бы сделал на 1 ключе хранилище, т.к. если я что-то еще буду хранить в сторадже, или даже много чего еще, то сканировать весь сторадж мне как-то не улыбается.
я бы сделал 1 функцию sync2storage() и через нее бы сохранял везде, где требуется, не дублируя логику
в общем моё мнение, для первого раза не дурно, но совершенству нет пределов :)

Valery
05.02.2017
19:20:49
Ребят

Google

Valery
05.02.2017
19:21:24
Посоветуйте пожалуйста react table чтобы на 1000+ записей сортировка и поиск шустры были
Есть Facebook react table, но там последние коммиты пол года назад :(

Vasiliy
05.02.2017
19:30:33
fixed-data-table-2, react-virtualized, свое,
в blueprintjs еще вроде виртуальный грид кстати

Valery
05.02.2017
19:32:57
спасибо

Razzwan
05.02.2017
19:45:25
А как скинуть ссылку на эту группу другу?
https://t.me/react_js
О, нашел.

Nikolay
05.02.2017
20:45:30
https://github.com/shashkovdanil/reacttodoapp.io
Однострочные компоненты можно выражать как чистые функции без обвязок в класс
https://facebook.github.io/react/docs/components-and-props.html
Вот такие веши можно делать проще https://github.com/shashkovdanil/reacttodoapp.io/blob/master/src/components/Form.jsx#L8
просто пишем метод класса
`
constructor() {
....
}
handleClick = () => {...};
~
Подумай над отделением вью части от бизнес логики, это может быть выражено простейшим классом Todos, у которого будут методы удаления добавления, в которых ты будешь оперировать с local storage и с массивом
А webpack 2 оказывается норм, никаких осложнений

Vladimir
05.02.2017
21:01:19

Nikolay
05.02.2017
21:02:26
да

Vasiliy
05.02.2017
21:11:18
А webpack 2 оказывается норм, никаких осложнений
у меня не все лоадеры и не все плагины работают с последним вебпаком, например pug-loader, WatchIgnorePlugin, source-map-loader, etc
хотя про WatchIgnorePlugin я не знаю зачем он нужен есть же watchOptions.ignored, котрый использует anymatch

Джон
05.02.2017
22:51:37
Ребят, у меня 2 вопроса. Один нубский по реакту, второй нубский не по реакту )
Вот прям не могу уснуть.
Есть тут кто-то сейчас?
Вижу что есть )

Котяй Негодяй
05.02.2017
22:52:33
Тута, тута.

Джон
05.02.2017
22:52:58
Короче первый такой —
зачем использовать пропсы, если их нельзя динамически изменять? Не проще везде тыкать стейты просто?

Котяй Негодяй
05.02.2017
22:53:48
А как ты собираешься что-либо передавать компонету?

Джон
05.02.2017
22:54:22
А стейт нельзя передавать?
а, ну понял вроде

Oleh
05.02.2017
22:55:05
А тут подробно вот: http://stackoverflow.com/a/32186324/3818282
Хороший ответ

Котяй Негодяй
05.02.2017
22:55:06
Можно. Но ты его передаёшь через пропсы. И если технически придираться, то не его, а его копию, тогда уж.