@react_js

Страница 4628 из 5115
Сергей
16.08.2018
10:46:25
не используй jquery не делай запросы в компонентах

Eugene
16.08.2018
10:46:31
ЭТО JQUERY? O_O

Ivan
16.08.2018
10:49:04
Вот это пушка

from
16.08.2018
10:49:08
не используй jquery не делай запросы в компонентах
> не делай запросы в компонентах Но запрос-то так или иначе инициирует компонент :)

Google
Ivan
16.08.2018
10:49:15
Джейвери в реакте

from
16.08.2018
10:49:23
Сергей
16.08.2018
10:49:26
> не делай запросы в компонентах Но запрос-то так или иначе инициирует компонент :)
инициирует, да но обрабатывать его там, да и собственно производить это такое

Nikolay
16.08.2018
10:49:40
Сергей
16.08.2018
10:49:52
не всегда, но имхо по-хорошему так и должно быть
ээээ ну чаще всего можно избежать в пользу более адекватного способа (отправка события)

Nikolay
16.08.2018
10:50:19
я так и написал
иммелось виду, почему так?

почему вне компонента надо?

Roman
16.08.2018
10:51:17
почему вне компонента надо?
а с чего за запрос к апи должен компонент отвечать?

from
16.08.2018
10:51:33
ээээ ну чаще всего можно избежать в пользу более адекватного способа (отправка события)
Я про "инициирование". Да, обработка, хэндлинг ответа и т.п. должны быть вынесены в отдельный слой в приложении. Но именно сама информация о том, что запрос нужно сделать (или, наоборот, что запрос стал не нужен) должен исходить из интерфейса Ну да, я тут немного с перпендикулярной мыслью лезу, обсуждаемый код со скриншота естессн надо переделывать

Nikolay
16.08.2018
10:52:30
from
16.08.2018
10:53:06
почему вне компонента надо?
как минимум потому что компонент может пропасть к моменту, когда придёт ответ

Roman
16.08.2018
10:53:12
Google
Сергей
16.08.2018
10:53:17
Я про "инициирование". Да, обработка, хэндлинг ответа и т.п. должны быть вынесены в отдельный слой в приложении. Но именно сама информация о том, что запрос нужно сделать (или, наоборот, что запрос стал не нужен) должен исходить из интерфейса Ну да, я тут немного с перпендикулярной мыслью лезу, обсуждаемый код со скриншота естессн надо переделывать
ну. я считаю, что компонент вообще не должен знать, что он производит выполнение запроса. Я думаю, что компонент должен производить событие “открыт компонент” или “пользователь хочет получить данные” это событие ловится неким слоем и слой решает, надо ли вообще делать запрос, или же данные уже есть и можно ничего не делать, или обновить состояние, чтобы открылся popup

from
16.08.2018
10:53:51
как минимум потому что компонент может пропасть к моменту, когда придёт ответ
А так же потому, что компонент может быть не единственным, кому нужны такие данные, а значит нужно избежать дубликации запроса

Nikolay
16.08.2018
10:54:01
выше ниже
кодом пример желательно

не совсем понимаю куда это выносить нужно

from
16.08.2018
10:54:42
ага вот выше примерно о том же написал
ой не туда ответил, я про t.me/react_js/462718

Nikolay
16.08.2018
10:54:46
точнее куда можно

Сергей
16.08.2018
10:55:37
точнее куда можно
возьми стейтменеджер один из популярных — redux но он особо ничего не решает есть альтернативы вроде stapp и effector но я бы предложил посмотреть на effector как пример, и сделать своё имплементацию

from
16.08.2018
10:55:37
не совсем понимаю куда это выносить нужно
совсем примитивно так: componentDidMount() { myRequestMakingModule.request('descriptionOfNeededData'); }

Nikolay
16.08.2018
10:57:16
Куда дальше попадают данные?

Сергей
16.08.2018
10:57:29
Куда дальше попадают данные?
в стейт менеджер и дальше в пропсы компоненту

Dzmitry
16.08.2018
10:58:09
Господа а если в рендере указываешь вот так: onClick={(e) => this.handleClick(e)} то это ведь плохо и каждый раз создается новая функция? поправьте, а то я что-то засомневался

Dmitriy
16.08.2018
10:58:20
Я правильно понимаю, что в такой ситуации надо делать редакс-экшены на каждое состояние запроса? То есть process => (error/success)? То есть их 3 на запрос получается

Dzmitry
16.08.2018
10:58:40
каждый раз создаётся новая, да не обязательно плохо
почему необязательно? ну т.е. НЕПРИЯТНО

Ivan
16.08.2018
10:59:01
Делаю запросы в component DidMont обычно

Andrew
16.08.2018
10:59:01
Проблема когда новая функция каждый раз в проп попадет

И вызывает не нужный ререндер

Google
Ҫѐҏӗѫӑ
16.08.2018
10:59:23
каждый раз создаётся новая, да не обязательно плохо
нет, всегда плохо. другое дело, что чаще всего можно этим пренебречь

from
16.08.2018
10:59:28
почему необязательно? ну т.е. НЕПРИЯТНО
А че плохого? <SomeComponent style={{ color: 'red' }} /> а здесь каждый раз создаётся объект. О НЕТ!

from
16.08.2018
10:59:45
Dzmitry
16.08.2018
10:59:51
onClick={this.handleClick}
ну там типа с параметрами немножно есть затык) но я в курсе да

from
16.08.2018
10:59:59
а то, что PureComponent ломается
ну не все компоненты pure знаете ли )

Dzmitry
16.08.2018
11:00:00
спасибо

Сергей
16.08.2018
11:00:11
в нативных компонентах, вообще пофигу

from
16.08.2018
11:00:16
а <button /> так вообще

Dzmitry
16.08.2018
11:00:22
в нативных да но у меня не нативные)

from
16.08.2018
11:00:36
Ҫѐҏӗѫӑ
16.08.2018
11:00:42
Nikolay
16.08.2018
11:01:05
в стейт менеджер и дальше в пропсы компоненту
redux/mobx? По факту сейчас приложение имеет 10 страниц и всего пару запросов которые повторяются. И ради этого класть все данные в глобальный стейт как то не хочется...

Roman
16.08.2018
11:01:33
Nikolay
16.08.2018
11:01:36
Я понял суть для чего это надо, но меня напрягает такое усложнение которе бесполезно в рамках приложения

Nikolay
16.08.2018
11:02:14
Google
Dzmitry
16.08.2018
11:02:39
параметры можно прибиндить биндом
короче суть проблемки: компонента используется много где и пробрасывает в родительский колбек на клик name но есть место, где name не нужно, а нужен объект event вот т.е. либо я руками в одном месте делаю ненужный мне первый параметр и передаю везде (name, event) либо создаю новую функцию каждый раз и руками прокидываю только эвент

вот как бы тут получше

Nikolay
16.08.2018
11:02:58
Очевидно не надо делать то, что будет бесполезным )
однако тут ругаются на то что запросы делает компонент (тоже понимаю почему)

Dzmitry
16.08.2018
11:03:12
Nikolay
16.08.2018
11:03:29
если это бесполезно, то что делать то тогда

Admin
ERROR: S client not available

Ҫѐҏӗѫӑ
16.08.2018
11:03:29
вот как бы тут получше
у Function.prototype.bind есть 2 и последующие параметры

Ҫѐҏӗѫӑ
16.08.2018
11:03:48
Dzmitry
16.08.2018
11:03:48
у Function.prototype.bind есть 2 и последующие параметры
у нас по кодстайлу бинды не используются не я придумал

from
16.08.2018
11:04:08
тогда тоже новая будет каждый раз
почему это) вопрос как прокинуть

Dzmitry
16.08.2018
11:04:26
пропустим этот вопрос что плохо написаны компоненты и юзабилити

from
16.08.2018
11:04:36
onClick={this.sendCorrectArguments} в чём проблема

Dmitriy
16.08.2018
11:05:09
Ребят, как правильно и более профессионально: 1) В редакс для каждого списка сущностей в сторе делать еще свойство "состояние запроса" (process/success/error) + свойство, где хранить ошибки, которые сервер вернет. То есть в функциях, которые дергают апи сервера будут диспатчиться экшены для состояний запроса 2) Сделать отдельные функции для апи-запросов, возвращающие промисы, и дергать их в componentDidMount (например, или по нажатию кнопки - в зависимости от задачи). Обрабатывать состояние запроса в таком случае надо через then и catch. Диспатчить экшены функции, обращающиеся к апи, не будут. Как лучше и правильнее: первый вариант или второй?

Dzmitry
16.08.2018
11:05:11
Ивент и без этого придет, если что
только уже не первым параметром

Google
Dzmitry
16.08.2018
11:05:55
а каким)
первым name идет там же не нативная, говорю же)

Сергей
16.08.2018
11:06:25
Сергей
16.08.2018
11:06:35
я уже Lego наюзался. боль

Ҫѐҏӗѫӑ
16.08.2018
11:06:47
о, лего жесть

Dzmitry
16.08.2018
11:06:53
Dmitriy
16.08.2018
11:08:14
Кто-нибудь может ответить на мой вопрос?) Пожалуйста

Daniyar
16.08.2018
11:10:05
люди, подскажите как можно и HOC, и обернутый в него компонент подключить к store redux'а?

Daniyar
16.08.2018
11:12:35
не понял честно. можно плиз пример?

Dmitriy
16.08.2018
11:12:43
смотри, на миддлварки можно смотреть грубо говоря как на didUpdate хук компонента, только для стора Это место для асинхронных запросов
Все равно не понимаю) Как правильно? Я выбрал второй вариант - логика вроде упростилась. Проблема в том, что если юзать первый вариант, то я не очень понимаю, как в react-final-form пробросить ошибки с сервера (смотрю по этому примеру - https://github.com/final-form/react-final-form#submission-errors)

Ҫѐҏӗѫӑ
16.08.2018
11:13:56
кстати, кто-нибудь пробовал И formik, И final-form? интересно сравнение

Сергей
16.08.2018
11:14:42
не понял честно. можно плиз пример?
ConnectedComponent = connect()(myHoc(Component))

Andrew
16.08.2018
11:14:44
rff для велосипедистов

Ҫѐҏӗѫӑ
16.08.2018
11:14:55
rff для велосипедистов
в каком смысле?

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