@react_js

Страница 1283 из 5115
Oleg ?
13.05.2017
09:19:51
))

? ethorz
13.05.2017
09:21:09
просто я использую такой подход, есть допустим в компоненте такой набор <Button /> <Popup />, так же я прокидываю всё через пропсы, к примеру <Button handler={ this.submitForm } />

сам хендлер я описываю в компоненте (контейнере)

Oleg ?
13.05.2017
09:22:30
Посмотри на styled-component

Google
Oleg ?
13.05.2017
09:23:07
Пример, который ты привел, вполне нормальный

? ethorz
13.05.2017
09:23:22
окей

а есть другие подходы?

Oleg ?
13.05.2017
09:23:31
Только я бы передавал в параметр onClick

Ну если много параметров, то лучше засунуть их в объект и передать спред оператором

Так код будет чище и понятнее

? ethorz
13.05.2017
09:24:36
параметр, ты имеешь ввиду функциональные компоненты?

А если набор параметров не фиксированный?

Oleg ?
13.05.2017
09:24:53
Нет, сейчас до компа дойду покажу

? ethorz
13.05.2017
09:25:13
ааа, или ты про пропсы?

Oleg ?
13.05.2017
09:25:17
Всё ровно

Я про пропсы

? ethorz
13.05.2017
09:25:41
<Button onClick={ this.submitForm } />

Google
Oleg ?
13.05.2017
09:25:58
Ща, уже комп вклбчил

const options = { key: subject, title: subject, onClick: () => { this.handleSelectSubject(subject); }, isSelected: selectedSubject === subject, }; return ( <TemplatesMenuItem {...options} /> );

? ethorz
13.05.2017
09:26:33
а в Button - <input type="submit" {...this.props} >

понял, такой подход объектом лучше

Oleg ?
13.05.2017
09:27:18
Да, код становится чище и лучше

Он если у тебя один прос нужно передать, то это избыточно - создавать отдельный объект

? ethorz
13.05.2017
09:27:54
я понял

говорится о множестве

Oleg ?
13.05.2017
09:28:08
?

? ethorz
13.05.2017
09:28:12
спасибо

Oleg ?
13.05.2017
09:28:55
А ещё всякие события типа this.submitForm, мы называем handleSubmitForm

То есть начинаются они с префикса handle

? ethorz
13.05.2017
09:29:14
да я пишу от балды

щас

Oleg ?
13.05.2017
09:29:19
Окей)

? ethorz
13.05.2017
09:29:23
не думаю над неймингом

кстати, использует кто https://github.com/Khan/aphrodite ?

Макс
13.05.2017
09:30:57
Привет! Подскажите, плиз. Пытаюсь cделать full-stack приложение. В какой-то момент до меня дошло, что по сути клиент и сервер - это два разных приложения. И в большинстве случаев их запускают на разных портах. Но где-то я видел пример, как приложение и на сервере и на клиенте запускалось на одном URL и все работало. Вообще, какая практика работает на продакшене? Это два абсолютно разных приложения (клиент и сервер) или все же это некий единый набор, который может использовать одинаковые классы, библиотеки, модели?

Пересмотрел штук 15 всяких темплейтов - везде все разное. (

Oleg ?
13.05.2017
09:31:49
Нет, я пока использую обычную подгрузку css, но планирую перейти на styled-components

Google
? ethorz
13.05.2017
09:32:31
Макс
13.05.2017
09:32:40
Где искать best practices?

? ethorz
13.05.2017
09:32:59
могу ошибаться)

Сергей
13.05.2017
09:33:01
Пересмотрел штук 15 всяких темплейтов - везде все разное. (
Нипонятна. Есть разные подходы и один win подход не назвать

Oleg ?
13.05.2017
09:33:04
Если это разные приложения, и код для клиента ни как не генерируется, то можно смело выносить отдачу клиента в nginx

Про best practice: Если что - то вызывает у тебя боль, значит это можно улучшить. Просто гуглишь на ту тему, которая вызывает боль или спрашиваешь тут

Я вот реакт пол года назад не умел

Наломал дров, вначале, однако эти дрова сейчас работают, и я их не спешу рефакторить

А новые штуки пишу уже с опытом

В этом весь прикол, что можно рефакторить поэтапно или не рефакторить вообще в реакте)

Макс
13.05.2017
09:37:50
Если это разные приложения, и код для клиента ни как не генерируется, то можно смело выносить отдачу клиента в nginx
Хочется какого-то единого стиля. И желательно ES6. Во многих набор на клиенте один набор всяких компилируемых штук с ES6, а на сервере required. Это меня сейчас больше всего смущает.

Задачи, конечно, разные. На сервере все же больше данными нужно манипулировать, а не представлением. Но писать на разных языках - не прикольно.

Oleg ?
13.05.2017
09:39:20
Я слышал что это вызывает боль

Думаю тебе эта статья поможет: https://habrahabr.ru/company/tinkoff/blog/303580/

Они там делали Универсальное приложение

Но я против этой практики

Когда я только пришёл работать в крупную компанию, я сделал смелый шаг, и разбил репозитории клиента и сервера

И ни разу не жалею

Макс
13.05.2017
09:41:19
Они там делали Универсальное приложение
Оу, спасибо. Вижу много деталей и рассуждений на мою тему как раз. Сейчас изучу.

Google
Oleg ?
13.05.2017
09:41:53
Да

Макс
13.05.2017
09:42:41
А сервер и клиент на разных доменах?

Oleg ?
13.05.2017
09:42:44
Фронтенд - это React приложение, которое загружается через nginx и общается с бэком через сокеты, а бэк - это приложение, которое работает с базой

Да

Фронтенд вообще на CDN

А сервер на локальной машине

Макс
13.05.2017
09:43:13
что-то типа api.myserver.ru?

Oleg ?
13.05.2017
09:43:53
Можно и так, но у нас топорнее myserver.ru

Просто ngnix всё проксирует

Admin
ERROR: S client not available

Oleg ?
13.05.2017
09:44:30
Сокеты на сервер отправляет, а запрос на контент грузит с тачки

Ща схему нарисую

Макс
13.05.2017
09:45:07
Просто с разными доменами, я так понимаю надо еще вопрос кроссдоменных запросов решать. Или сервер вообще принимает запросы от кого угодно?

Ща схему нарисую
Вот, это должно помочь точно для понимания :)

Oleg ?
13.05.2017
09:46:56


Как то так, в упрощёном виде

Там ещё это всё завёрнуто в CDN

То есть между nginx и Assets/Css/Js/Images & WebSocket стоит CDN

Макс
13.05.2017
09:49:54
Олег, спасибо огромное, пошел практиковаться ))

Oleg ?
13.05.2017
09:50:31
Да, советую ещё подумать)

Google
Oleg ?
13.05.2017
09:51:05
Я обычно даю простым идеям настояться 1 день, сложным неделю - так сказать, чтобы они созрели)

Если у тебя команда маленькая, то бери мой вариант, если 20+ человек, можешь взять то, что у команды тинькова

Макс
13.05.2017
09:58:20
Я в одного думаю уже 2 недели и щупаю всякие разные варианты. Уже прошелся по Angular, Vue, React, Express, Typescript, Babel и прочим умным словам... Приложение-то так - маленькое. Не из необходимости, а скорее ради того, чтобы пощупать новые технологии. Я из мира php, Yii и вот этого всего )

Oleg ?
13.05.2017
09:59:51
Советую этот сайт: http://www.npmtrends.com/react-vs-angular-vs-vue

На нём можно сравнить популярность фреймворков

Лучше брать самый популярный - быстрее найдёшь ответ, да и испытан он большим количеством разработчиков

Oleg ?
13.05.2017
10:03:07
Да, последний ангуляр расчитан на большие команды и проекты

Макс
13.05.2017
10:03:10
А подскажите еще имеет ли смысл на простых сайтах уходить от jQuery в пользу чего-то более современного. Чтобы не делать всю эту лапшу по управлению DOM. Использовать React ради нескольких интерактивных элементов - overhead или нормально?

Oleg ?
13.05.2017
10:03:33
Либо Vue, либо React, либо JQuery

Но не комбинировать

Max
13.05.2017
10:03:43
я делал небольшие виджеты

на вуе

вполне себе

типа маленькой формы-калькулятора

есть еще преакт вроде

Oleg ?
13.05.2017
10:04:18
Можешь использовать только JQuery, если хочешь

https://medium.com/@webseanhickey/the-evolution-of-a-software-engineer-db854689243

Страница 1283 из 5115